일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- operator
- serving
- blue/green
- gitops
- tekton
- seldon core
- MLflow
- Litmus
- Pulumi
- CI/CD
- 오퍼레이터
- mlops
- keda
- eBPF
- argocd
- Kubeflow
- Kopf
- Kubernetes 인증
- Kubernetes
- Model Serving
- knative
- opensearch
- Argo
- kubernetes operator
- xdp
- CANARY
- nginx ingress
- opentelemetry
- Continuous Deployment
- 카오스 엔지니어링
- Today
- Total
목록Kubernetes (136)
Kubernetes 이야기
Helm Chart등으로 Application을 설치 후 삭제 시 일부 pod가 terminating 상태로 삭제안되는 경우가 간혹 발생한다. 사유는 pod가 참조하고 있는 객체가 존재하기 때문일 수 있다. 먼저 Finalizers에 대해 알아보자. 우리가 간한단 configmap을 한번 만들어보자. # echo -n "name=admin" > env.properties # kubectl create configmap myconfig --from-env-file=env.properties configmap/myconfig created 생성된 configmap 을 확인해 보자. # k get cm myconfig -o yaml apiVersion: v1 data: name: admin kind: Conf..
네트워크 패킷을 관찰하기 가장 좋은 방법 중 하나는 tcpdump이다. 포드에서 TCP 트래픽 캡처를 수행하고 캡처를 조회할 수 있는 방법을 살펴보자. Pod에 Tcpdump 툴 설치하는 방법 연결 문제가 있는 포드에 접속해 보자. # k exec -it -n test sampleapp-6c65c5cdb7-mplj4 -- /bin/bash 다음과 같이 tcpdump 를 설치한다. # apt-get update && apt-get install tcpdump Alpine Linux인 경우에는 다음의 명령을 수행한다. # apk add tcpdump 캡처 # tcpdump -s 0 -vvv -w /capture.cap # tcpdump -s 0 -vvv -w /capture.cap tcpdump: liste..
KubeClarity는 K8 런타임의 세분화된 보안 스캔은 물론 컨테이너 이미지 스캔 및 사전 배포 CI/CD 스캔 기능을 수행할 수 있는 차세대 보안 스캔 도구 중 하나이다. KubeClarity는 SBOM(Software Bill Of Materials)과 컨테이너 이미지 및 파일 시스템의 취약점을 감지하고 관리하기 위한 도구이다. 향상된 소프트웨어 공급망 보안을 위해 런타임 K8 클러스터와 CI/CD 파이프라인을 모두 스캔한다. SBOM은 소프트웨어 자재 명세셔라는 뜻으로 발송물의 포장 목록과 유사하다. 소프트웨어를 구성하거나 소프트웨어를 구축하는 데 사용된 모든 구성 요소가 나열된다. . 컨테이너 이미지의 경우 여기에는 소프트웨어가 의존하는 언어별 패키지(예: Log4j)와 함께 설치된 운영 체제..
Pod의 상태를 보니 아래와 같이 ContainerCreating 상태였다. Pod상태 # k get po -n test NAME READY STATUS RESTARTS AGE sampleapp-6c65c5cdb7-djktc 1/1 Running 0 33d sampleapp-7c56d989f9-zvh5c 0/1 ContainerCreating 0 2m51s 에러 메시지 아래와 같이 FailedMount : no space left on device 오류 이벤트가 발생한다. ## k describe pod -n test sampleapp-7c56d989f9-zvh5c Name: sampleapp-7c56d989f9-zvh5c Namespace: test ... Status: Pending IP: IPs: ..
Kubernetes에서 Deployment나 Statefulset, Daemonset 을 배포할 때 환경설정이나 비밀번호등을 연계하게 위해 Configmap, Secret 을 mount 하여 사용하는 경우가 아주 많다. 이 때 Configmap이나 Secret를 kubectl edit 로 수정하여도 관련된 Deployment나 Sts 등의 Workloads는 반영되지 못한다. 사용자가 수동으로 rollout 을 해야 반영되기 때문에 Reloader는 이런 경우 자동으로 Update될 수 있도록 해 주는 유틸리티 이다. 설치 # helm repo add stakater https://stakater.github.io/stakater-charts # helm repo update # helm install ..
Nginx Ingress에서는 주석( annotations)을 특정 Ingress 객체에 추가하여 사용자가 원하는 동작을 지정할 수 있다. Nginx Ingress에서는 2가지 방식으로 설정이 가능하다. ConfigMap : Nginx Ingress Controller 에서는 configmap 으로 전역 설정을 할 수 있도록 환경 구성을 한다. 예를 들어 아래와 같이 설정한다. data: allow-snippet-annotations: "true" client-max-body-size: 1000m enable-sticky-sessions: "true" proxy-read-timeout: "300" proxy-send-timeout: "300" ... annotation : Ingress 객체에 주석을 설..