| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
- Kopf
- gitops
- Argo
- argocd
- seldon core
- Kubernetes
- MLflow
- opensearch
- eBPF
- CANARY
- CI/CD
- blue/green
- kubernetes operator
- Pulumi
- opentelemetry
- keda
- Kubeflow
- knative
- serving
- Kubernetes 인증
- mlops
- 카오스 엔지니어링
- Model Serving
- tekton
- Continuous Deployment
- operator
- 오퍼레이터
- nginx ingress
- Litmus
- xdp
- Today
- Total
목록Kubernetes/devops (37)
Kubernetes 이야기
Argo rollout - Blue / Green 배포 우선 아래와 같이 앱을 배포해보자. apiVersion: apps/v1 kind: Deployment metadata: name: rollouts-bluegreen spec: replicas: 3 selector: matchLabels: app: rollouts-bluegreen template: metadata: labels: app: rollouts-bluegreen spec: containers: - name: hello image: ghcr.io/kmaster8/hello:v1 ports: - containerPort: 5050 apiVersion: v1 kind: Service metadata: name: hello-v1 spec: type..
Kaniko Kaniko 는 Dockerfile을 이용하여 Container Image를 빌드하고 Registry에 Push하는 도구이다. Kaniko는 Docker와 달리 Docker daemon 없이 빌드가 가능하다. 즉 Docker enging 설치를 하지 않아도 사용자가 만든 Dockerfile을 이용하여 이미지를 빌드할 수 있다. 제약사항은 아래와 같다. Kaniko는 Windows 컨테이너 빌드를 지원하지 않는다. Kaniko는 v1 Registry API를 지원하지 않는다. Kaniko 는 컨테이너 내부에서 실행되는 gcr.io/kaniko-project/executor 실행 이미지를 사용하여 빌드한다. Dockerfile 내부의 각 명령 을 순서대로 실행하고 각 명령 후에 파일 시스템의 스..
Argo Rollout 이란 argo rollout은 Kubernetes에 Blue/Green, Canary 등 배포를 지원하기 위한 Kubernetes controller 와 CRD의 집합체이다. argo rollout은 Ingress Controller, Service Mesh 와 통합되어 업데이트 중에 트랙픽을 새 버전으로 전환시킬 수 있다. 또한 점진적인 배포 조건을 메트릭 쿼리를 사용하여 자동화된 배포/롤백을 구축할 수 있다. 주요기능 Blue/Green 배포 Canary 배포 자동화된 롤백 및 배포 맞춤형 메트릭 쿼리를 이용한 점진적 배포 Ingress Controller 통합 : Nginx, ALB Service Mesh 통합 : Istio, Linkerd, SMI 메트릭 공급자 통합 : P..
Flagger Flagger는 Kubernetes에서 실행되는 애플리케이션의 릴리스 프로세스를 자동화하는 CD 도구이다. Flagger는 현재 CNCF Incubating 프로젝트로서 사용자 요청 결과 (성공/실패) 메트릭을 자동으로 측정하고 설정한 임계치 미만으로 안정된 트래픽이 유지되면 새 버전으로 점진적으로 이동하여 프로덕션에 적용할 수 있는 솔루션이다. Flagger는 GitOps 도구중 하니인 Flux 제품의 일부분인 프로젝트이다. Flagger 는 배포를 진행할때 Blue/Green 또는 Canary 배포를 진행함에 있어 라우팅을 담당하는 여러 공급자와 연계하여 진행하게 된다. 대표적으로 아래의 공급자와 연계 가능하다. Service mesh Istio Linkerd AWS App Mesh O..
Canary 배포 Canary 라는 용어는 옛날 탄광에서 나오는 유독 가스에 죽거나 다치는 일을 피하고자 광부들이 유독 가스에 민감한 카나리아를 데리고 갱도로 내려간 일에서 나온 용어로 다가온 위험을 먼저 알려준다는 의미로 사용된다. Canary 배포는 새 버전이 모든 사용자에게 릴리스되기 전에 초기 테스트로 일부 사용자에게 점진적으로 롤아웃하는 방법이다. 이 방법의 목적은 성능 메트릭을 수집하고 전체 배포에 대한 사용자의 영향을 예측하기 위해 소수의 사용자를 대상으로 하는 것입니다. 또한 Istio 등을 사용하면 특정 조건 ( 예를 들어, IE 사용자는 신규앱, 나머지는 기존앱, 특정 IP는 신규앱, 나머지는 기존앱 ) 으로도 사용자 요청을 분배해서 처리할 수 있다. 장점 빠른 롤백 실제 사용자 및 사..
Blue/Green 배포 RollingUpdate는 이전앱과 신규앱이 공존하는 시간이 발생한다. 또한 롤백을 시도할때도 복구 시간이 소요된다. 이번에는 Blue/Green 배포에 대해 알아보자. Blue/Green 배포는 현재 버전과 새 버전이 병렬로 실행된 다음 모든 트래픽이 새 버전으로 이동하는 방식이다. 장점 RollingUpdate와 달리 기존앱에서 새로운앱으로 바로 이전이 가능하다. 이전 앱과 새로 배포할 앱을 테스트 할 수 있다. 새로운 앱에서 문제가 발생할 때 이전 버전으로 빠르게 롤백할 수 있다. 단점 두 배의 리소스가 필요함으로 인프라 비용이 증가할 수 있다. PaaS 솔루션이나 argo 같은 도구를 사용하지 않으면 배포하기가 까다롭다. Kubernetes에서는 기본적으로 RollingU..