본문 바로가기

EKS/Jenkins & ArgoCD

EKS CICD Automation - 1. Intro

EKS 자동화 배포에 대한 부분은 굉장히 많은 방법이 있습니다.

저는 많은 방법들 중 GitOps 방식만 먼저 작성해보도록 하겠습니다.

 

전체적인 흐름은 아래와 같습니다.

 

EC2 및 ECS에서의 배포흐름을 충분히 공부하셨으니 어렵지 않게 이해가 되실거라고 봅니다.

 

추가적인 부분으로는 kubernetes가 yaml로 정의된 형태로 서비스가 구축되기 때문에

서비스에 대한 코드부터 실제 서비스가 수행되는 인프라부분까지 모두 git에서 관리하는 GitOps Style 구성을 가지게 됩니다.

이때 kubernetes yaml에 대한 repository를 지속적으로 모니터링 체크하고있다가 Sync하여

쿠버네티스를 구성했던 그대로 유지 및 배포하게 하는 ArgoCD를 사용하여 GitOps방식의 CICD 자동화를 구축할 수 있습니다.

 

누군가 Kubernetes CLI를 통해서 인프라에 대한 변동을 일시적으로 했더라도,

ArgoCD를 통해 이 변경에 대한 부분을 알아낼 수 있고 Sync CLI나 버튼클릭으로 다시 원복시킬 수도 있는 것입니다.

또한 ArgoCD는 배포에 대한 부분을 UI로 보여주기 때문에 현재 Pod에 대한 상황도 시각적으로 알기 쉽게 파악할 수 있고,

이전 배포이력에 대한 Histroy를 기억하고 있어 버튼 클릭으로 쉽게 롤백또한 가능합니다.

 

이러한 구성을 다음 부터 하나씩 진행해보도록 하겠습니다.