AWS EKS(Elastic Kubernetes Service)
- 관리형 Kubernets 서비스로, 컨테이너화 된 애플리케이션을 쉽게 배포,관리, 확장할 수 있게 해준다.
- 쿠버네티스 컨트롤 플레인 관리를 AWS 가 담당한다.
ECR 과 EKS 의 연계
- 이미지 저장
- 애플리케이션 컨테이너 이미지를 ECR 에 저장한다.
- 이미지 배포
일반적인 워크플로우
- 개발자가 코드를 변경 후 깃헙에 푸시함
- CI/CD 파이프라인 (ex. jenkins)이 트리거 된다.
- 파이프라인이 새 도커 이미지를 빌드한다.
- 빌드된 이미지를 ECR 에 푸시한다.
- 쿠버네티스 매니페스트 파일이 업데이트 되어 새 이미지 버전을 참조한다.
- EKS 가 업데이트 된 매니페스트를 감지하고, ECR 에서 새로운 이미지를 가져와 배포한다.
그럼 EKS 는 어떻게 쿠버네티스 매니페스트를 참조할까?
- 쿠버네티스 매니페스트 파일은 보통 Git 저장소에 저장되고, EKS 자체는 이 파일을 직접 참조하지 않는다.
- 매니페스트 파일이 업데이트 되면 이 변경사항을 EKS 클러스터에 적용해야한다.
- 이는 보통 CI/CD 파이프라인 혹은 GitOps 도구로 수행된다.
- ArgoCD 나 Flux 와 같은 도구를 사용하여, Git 저장소 변경사항을 감지하고 클러스터에 적용한다.