카테고리 없음
99클럽 코테 스터디 34일차 Version Control CD ArgoCD
차가리
2024. 6. 26. 20:49
728x90
- 배포
- CI
GitHub ActionsJenkins
- CD
- Argo CD
- Container
- Docker
- k8s
- 쿠버네티스
- CI
Argo CD 란?
- Argo CD 는 k8s에 배포된 애플리케이션의 지속적 배포(CD: Continuos Delivery) 를 관리하기 위한 K8s 네이티브 툴
- GitOps 방식으로 작동하며, 애플리케이션의 선언적 정의와 환경 구성을 Git 리포지토리에 저장하고 이를 통해 배포 상태를 관리함.
개념
- k8s 네이티브 : k8s 환경에서 원활하게 작동하도록 설계됨.
- GitOps 방식 : Git Repository 를 단일 소스로 사용하여 모든 배포를 관리
- 자동 동기화 : 설정된 정책에 따라 Git Repository의 상태와 클러터의 상태를 자동으로 동기화
- 시각화 : 배포 상태를 웹 UI를 통해 시각적으로 모니터링 가능
장단점
장점
- 일관성 보장
모든 설정과 애플리케이션 정의가 Git 에 저장되어 일관된 배포 상태를 유지 - 자동화
자동 동기화 및 자동 복구 기능을 통해 운영 부담을 줄임. - 확장성
k8s 네이트브 툴로 k8s 의 모든 기능과 완벽하게 통합되어 확장성이 뛰어남. - 시각적 관리
직관적인 웹 UI를 제공하여 배포 상태를 시각적으로 관리 가능 - 감사 가능성
모든 변경 사항이 Git에 기록되므로 변경 이력 추적이 용이함.
단점
- 복잡성
k8s 와 GitOps 방식에 대한 깊은 이해가 필요함. - 러닝 커브
초기 설정과 운영에 대한 학습 곡선이 있음. - 의존성
Git Repository에 대한 높은 의존성으로 Git 서버의 가용성이 중요
기존 CD
- Jenkis
가장 널리 사용되는 CI/CD 도구로 다양한 플러그인과 광범위한 커뮤니티 지원 - GitLab CI/CD
GitLab 과 통합된 CI/CD 도구로 GitLab의 기능을 활용하여 배포 관리 - Travis CI
GitHub Repository 와 통합하여 CI/CD 파이프라인을 구성할 수 있는 도구 - CircleCI
빠른 빌드와 배포를 위해 설계된 CI/CD 도구
기존 CD 와 Argo CD 의 차이점
- GitOps 방식
Argo CD 는 GitOps 방식을 채택하여 Git Repository를 소스 사용해 배포를 관리하는 점이 다름. - k8s 네이티브
k8s 클러스터 환경에 최적화된 기능을 제공 - 자동화 및 동기화
Git Repository 와 클러스터 상태를 자동으로 동기화하는 기능
제공
사용하는 이유
- 안정성
Git을 단일 소스로 사용하여 배포의 일관성과 안정성을 보장 - 자동화
수동 작업을 줄이고 자동화된 동기화 및 복구 기능 제공 - 효율성
배포 상태를 시각적으로 관리하고 모니터링할 수 있어 운영 효율성 증대 - 보안
변경 사항이 모두 Git 에 기록되어 감사 추적이 용이
Argo CD 는 k8s 환경에서 GitOps 방식을 활용하여 애플리케이션 배포를 관리함으로써 일관성, 자동화, 안정성, 효율성을 제공하는 도구
이를 통해 DevOps 팀이 더 효과적으로 애플리케이션을 배포하고 관리할 수 있음.
728x90