본문 바로가기

EKS/Jenkins & ArgoCD

(4)
EKS CICD Automation - 4. ArgoCD Blue/Green Deployment 공식 다큐는 아래와 같습니다. argoproj.github.io/argo-rollouts/features/bluegreen/ BlueGreen - Argo Rollouts - Kubernetes Progressive Delivery Controller BlueGreen Deployment Strategy A Blue Green Deployment allows users to reduce the amount of time multiple versions running at the same time. Overview In addition to managing ReplicaSets, the rollout controller will modify a Service resource during the BlueG ..
EKS CICD Automation - 3. Jenkins Pipeline (Rolling) 이제 모든 준비가 끝났습니다. 그저 젠킨스 파이프라인 코드만 잘 작성해주시면 됩니다. 저는 스크립트에서 아래와 같은 변수들을 젠킨스에서 선언하고 사용합니다. 스크립트는 아래와 같습니다. pipeline { agent any stages { stage('Git Clone') { steps { script { try { git url: "https://$GIT_URL", branch: "master", credentialsId: "$GIT_CREDENTIALS_ID" sh "sudo rm -rf ./.git" env.cloneResult=true } catch (error) { print(error) env.cloneResult=false currentBuild.result = 'FAILURE' } } } ..
EKS CICD Automation - 2. Install ArgoCD 먼저, ArgoCD가 바라보게 할 Repository를 만들어줍니다. 이제 ArgoCD를 설치해보겠습니다. 먼저 ArgoCD 버전을 체크하도록 하겠습니다. 저는 현재 작성 기준 1.4.2가 가장 최신이며, HA로 구성을 하도록 하겠습니다. ArgoCD CLI를 설치하는 명령어입니다. curl -LO https://github.com/argoproj/argo-cd/releases/download/v1.4.2/argocd-linux-amd64 chmod u+x argocd-linux-amd64 sudo mv argocd-linux-amd64 /usr/local/bin/argocd 만약 CLI 명령어를 찾지 못한다면, 아래와 같이 Path 등록을 해주시면 됩니다. export PATH=/usr/local/bi..
EKS CICD Automation - 1. Intro EKS 자동화 배포에 대한 부분은 굉장히 많은 방법이 있습니다. 저는 많은 방법들 중 GitOps 방식만 먼저 작성해보도록 하겠습니다. 전체적인 흐름은 아래와 같습니다. EC2 및 ECS에서의 배포흐름을 충분히 공부하셨으니 어렵지 않게 이해가 되실거라고 봅니다. 추가적인 부분으로는 kubernetes가 yaml로 정의된 형태로 서비스가 구축되기 때문에 서비스에 대한 코드부터 실제 서비스가 수행되는 인프라부분까지 모두 git에서 관리하는 GitOps Style 구성을 가지게 됩니다. 이때 kubernetes yaml에 대한 repository를 지속적으로 모니터링 체크하고있다가 Sync하여 쿠버네티스를 구성했던 그대로 유지 및 배포하게 하는 ArgoCD를 사용하여 GitOps방식의 CICD 자동화를 구축할..