일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Kubeflow
- gitops
- seldon core
- keda
- opensearch
- 카오스 엔지니어링
- blue/green
- CI/CD
- Argo
- MLflow
- eBPF
- kubernetes operator
- Litmus
- mlops
- Pulumi
- Kubernetes
- xdp
- opentelemetry
- CANARY
- serving
- tekton
- Continuous Deployment
- 오퍼레이터
- nginx ingress
- Model Serving
- operator
- Kubernetes 인증
- Kopf
- knative
- argocd
- Today
- Total
목록Kubernetes/일반 (56)
Kubernetes 이야기
"PodDisruptionBudget" (PDB)은 자발적 중단으로 인해 동시에 다운된 복제된 애플리케이션의 포드 수를 제한하는 Kubernetes 객체이다. PDB는 비자발적으로 중단된 애플리케이션/포드 집합에서 작동하지 않는다. 여기서 자발적 중단이라는 용어가 나온다. Kubernetes 매뉴얼에는 자발적 중단과 비자발적 중단을 아래와 같이 설명하고 있다. 비자발적 중단 노드를 지원하는 물리 머신의 하드웨어 오류 클러스터 관리자의 실수로 VM(인스턴스) 삭제 클라우드 공급자 또는 하이퍼바이저의 오류로 인한 VM 장애 커널 패닉 클러스터 네트워크 파티션의 발생으로 클러스터에서 노드가 사라짐 노드의 리소스 부족으로 파드가 축출됨 자발적 중단 디플로이먼트 제거 또는 다른 파드를 관리하는 컨트롤러의 제거 재..
Kubernetes에서 많은 Pod들을 운영하다 보면, Pod안에 있는 Container들의 오류를 확인해야 하는 경우가 있다. 이 때 다양한 도구 ( 예: telnet, curl, tcpdump, wget 등.. ) 가 필요한데 대부분의 Container image들이 Shell도 없는 기본 배포판을 기반으로 제작된 것들이 많다. 그래서, 오류가 많이 발생하는 Container에 필요한 디버깅 도구들을 추가하여 다시 이미지를 빌드하는 경우가 발생한다. 이러한 경우 임시 컨테이너 ( Ephemeral Containers ) 를 사용한다. Kubernetes의 임시 컨테이너 (Ephemeral Containers)는 문제 해결과 같은 일부 작업을 수행하기 위해 기존 포드에서 일시적으로 실행되는 특수한 유형..
일반적으로 Java App에서 Heap Space를 조절하기 위해서는 JAVA OPT 를 Xms, Xmx로 설정이 일반적이다. java -Xms512m -Xmx512m test.jar 하지만 Kubernetes의 Container 환경에서는 사이즈를 고정하는 부분은 많은 고민이 필요하다. 왜냐하면 Kubernetes에서 Pod 를 생성시에는 resource 를 설정할 수 있기 때문이다. containers: - name: tomcat image: tomcat:9 env: - name: JAVA_OPTS value: "-Xms1024m -Xmx1024m" resources: requests: memory: "500Mi" limits: memory: "500Mi" 위와 같이 Container에 memory ..
* 일반 설치 # helm upgrade --install ingress-nginx ingress-nginx --repo https://kubernetes.github.io/ingress-nginx --namespace ingress-nginx --create-namespace * HostNetwork와 DaemonSet을 사용하여 node의 80과 443으로 서비스 하도록 설치한다. # helm upgrade --install ingress-nginx ingress-nginx --repo https://kubernetes.github.io/ingress-nginx --namespace ingress-nginx --create-namespace --set controller.hostNetwork=true..
얼마전 Kubernetes 1.24 가 릴리즈되었다. Kubernetes 1.24 릴리즈의 주요변경 사항은 dockershim 제거이다. Kubernetes 1.24의 자세한 변경사항은 아래를 참고한다. https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.24.md GitHub - kubernetes/kubernetes: Production-Grade Container Scheduling and Management Production-Grade Container Scheduling and Management - GitHub - kubernetes/kubernetes: Production-Grade Container Sche..
올바른 Dockerfile 작성하기 글을 올린적이 있는데 https://kmaster.tistory.com/52 올바른 Dockerfile 작성하기 DockerHub에는 다양한 Docker Image가 존재한다. Official한 이미지를 사용하면 좋겠지만, 때로는 Official 이미지에 다양한 라이브러리와 개발된 라이브러리등을 넣어서 본인만의 Docker Image를 만들어야 하 kmaster.tistory.com 이번에는 올바른 Kubernetes manifest 작성하는 방법을 알아보자. 오픈소스중 trivy나 datree 같은 Tool을 사용하면 사용자가 만든 yaml 의 문제점을 파악해준다. 올바른 yaml 방법을 사용하여 배포하면 장애나 보안에 적절하게 대응할 수 있다. Liveness, R..