일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- CANARY
- CI/CD
- keda
- Pulumi
- opentelemetry
- Kubernetes 인증
- Kopf
- Kubernetes
- xdp
- blue/green
- gitops
- seldon core
- knative
- Argo
- mlops
- 카오스 엔지니어링
- argocd
- opensearch
- Litmus
- kubernetes operator
- Kubeflow
- serving
- operator
- Model Serving
- MLflow
- Continuous Deployment
- tekton
- nginx ingress
- eBPF
- 오퍼레이터
- Today
- Total
목록Kubernetes (136)
Kubernetes 이야기
Kubernetes에서는 다양한 Pod들이 서비스가 되고 있다. 이 때 모니터링은 관리자나 개발자에게 무엇보다 중요한 일이 될 것이다. Kubernetes에서 다양한 모니터링 솔루션들이 있으나, 가장 범용적으로 많이 사용되는 도구는 Prometheus-Grafana 조합일 것이다. Prometheus에는 일정시간 간격으로 모니터링 데이터를 수집하고 기본적으로 CPU, Memory, Disk IO, Network IO 등이 포함되고, ServiceMonitor 등을 통해 Third party Container의 모니터링 데이터도 수집한다. Grafana는 이런 수집된 데이터를 각종 차트를 이용하여 사용자에게 시각화해 주는 도구이다. ( Thanos Project는 여러 Cluster에 설치된 Prometh..
* 일반 설치 # 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..
Kubernetes에서는 다양한 Resource들 ( Deployment, Service, Secret, Configmap, PVC ... ) 존재한다. 이러한 Resource들은 Namespace에 속하고, RBAC 권한에 따라 다른 Namespace의 Resource들을 참조하지 못하도록 엄격하게 통제할 수 있다. 하지만, 네트워크의 경우 동일한 Cluster에서는 기본적으로 Network 격리가 안되고 모든 소스에서 트래픽을 받아들이도록 구성된다. 즉, 아래와 같이 Namespace 별로 배포된 앱에서 다른 Namespace의 앱을 직접 호출할 수 있다. Kubernetes에서는 사용자 애플리케이션이 작동하는 컨테이너를 보호하기 위해 네트워크 폴리시 ( NetworkPolicy ) 를 이용해 네트워..
GitOps는 클라우드 네이티브 애플리케이션을 위해 git을 사용해 인프라 및 애플리케이션을 관리하기 위한 지속적인 배포 방법이다. GitOps는 Git 풀 요청을 사용해 인프라 프로비저닝 및 배포를 자동으로 관리한다. 즉, Kubernetes에서 Deployment나 StatefulSet, Service, Ingress 등의 workload등을 배포하기 위해서 manifest 파일을 Git에 저장하여 운영중인 Kubernetes의 상태가 리포지토리에 지정된 상태와 일치하도록 하는 자동화된 프로세스를 갖는 방법이다. 완전히 동일하지는 않지만, 일종의 Kubernetes Operator의 개념과 동일한다. GitOps는 DevOps와 어떤 점이 다를까? GitOps와 DevOps는 동일한 원칙 및 목표를 ..
Kubernetes에서 다양한 장애를 빠르게 인지하기 위해 대부분 prometheus+alert manager 를 사용하여 알람을 받도록 설정한다. 이번에는 장애를 감지하기 위한 주요한 룰을 알아보자. alert rule 설정은 https://prometheus.io/docs/prometheus/latest/configuration/alerting_rules/ 를 참고한다. 주요한 expr만 알아보자. Prometheus Rule 등록과 AlertManager 설정 PrometheusRule 형식 apiVersion: monitoring.coreos.com/v1 kind: PrometheusRule metadata: labels: app: prometheus role: alert-rules name: n..