Canary 배포 Jenkins Pipeline 코드와 상세 프로세스를 단계별 설명1. Jenkins Pipelinepipeline { agent any environment { // Helm & Kubernetes HELM_CHART_DIR = "helm-chart" NAMESPACE = "production" DOCKER_IMAGE = "my-registry.com/my-app:${env.BUILD_NUMBER}" // ArgoCD ARGOCD_SERVER = "argocd.example.com" ARGOCD_APP_NAME = "my-app-canary" ..
Helm, ArgoCD, Istio를 활용한 Canary 배포 프로세스와 Jenkins Pipeline 코드Canary 배포 시나리오 흐름1. 사전 구성: Helm 차트 구성 + Istio VirtualService 설정2. 파이프라인 실행: Jenkins가 Canary 배포 트리거3. 점진적 롤아웃: 10% → 30% → 100% 트래픽 전환 4. 모니터링: Prometheus 메트릭 기반 자동 롤백 5. 완료: Canary 정상 작동 시 Stable 버전으로 전환 1. 사전 구성Helm 차트 구조my-app-chart/ ├── templates/ │ ├── deployment.yaml # 안정화 버전 (stable) │ ├── canary-deployment.yaml # Cana..
표준화된 패키징(Helm), 유연한 설정 관리(Kustomize), 자동화된 배포(ArgoCD)Kubernetes 애플리케이션을 배포하는 Jenkins Pipeline 스크립트 예제## 사전 준비 사항- Jenkins에 설치된 플러그인: Helm+Kubernetes+ArgoCD- 인프라 구성: - Helm 레지스트리 서버 - ArgoCD 서버 및 대상 Kubernetes 클러스터 연결 - Git 저장소에 `helm-chart`, `kustomize/overlays` 디렉터리 구조 필요## 실행 시나리오1. 개발자가 코드를 `main` 브랜치에 푸시 → Jenkins 파이프라인 트리거. 2. Helm으로 패키징 → Kustomize로 환경별 설정 적용 → ArgoCD가 배포 실행. 3. Arg..