DevOps/DevOps

ArgoCD 란?

chanstory 2023. 8. 17. 20:28
반응형

ArgoCD

ArgoCD는 GitOps 기반의 Continuous Delivery(CD) 도구로, Kubernetes 클러스터 내의 애플리케이션 배포 및 관리를 자동화합니다. 애플리케이션의 상태를 Git 저장소에 정의하고, GitOps 워크플로우를 통해 클러스터에 반영됩니다. 강력한 UI와 CLI를 제공하여 애플리케이션의 배포, 롤백, 상태 확인 등을 간편하게 수행할 수 있습니다.

 

ArgoCD 사용을 위한 기본 지식

  • Kubernetes(K8s)
    => ArgoCD는 Kubernetes 클러스터 내에서 동작하므로, Pod, Deployment, Service 등의 기본 용어와 개념 이해
  • GitOps 워크플로우와 Git의 기본 사용
    => 애플리케이션의 원하는 상태를 Git 저장소에 정의하고, GitOps 워크플로우를 통해 클러스터를 관리하는 방식 이해
  • 컨테이너화와 Docker에 대한 이해: Kubernetes는 컨테이너 기술을 기반으로 동작하므로, Docker와 같은 컨테이너 기술에 대한 기본 지식 필요
  • Kubectl과 ArgoCD CLI 사용 방법: Kubectl로 Kubernetes 클러스터를 조작하고, ArgoCD CLI로 애플리케이션 관리 작업을 수행하는 방법 습득
  • 애플리케이션 배포 및 관리 개념: 애플리케이션의 버전 관리, 롤링 업데이트 전략, 구성 관리 등에 대한 개념 학습
  • Helm과 Helm 차트 사용 방법: ArgoCD에서 Helm 차트를 사용하여 애플리케이션을 배포하는 방법을 익히고, Helm 차트 작성 및 관리에 필요한 기본 지식 습득

 

CI/CD 툴 비교

도구 특징 장점 단점
Jenkins 오픈소스 CI/CD 도구로 확장성과 커스터마이징이 높음 다양한 플러그인 지원, 커뮤니티 활발함 설정 복잡성, 초기 설정 시간 소요
AWS CodeBuild AWS 클라우드에서 제공되는 완전 관리형 빌드 서비스 서버리스 아키텍처, AWS 리소스 통합 용이 고급 기능 부족, 다른 클라우드 통합 제한
GitHub Actions GitHub의 일부로 제공되는 CI/CD 플랫폼 GitHub 통합 우수, 간단한 설정 및 다양한 템플릿 고급 기능 제한적, 특정 빌드 환경에 한함
ArgoCD GitOps 기반의 CD 도구로 Kubernetes 애플리케이션 관리 자동화 K8s 환경에서 간편한 배포, GitOps 접근 방식으로 변경 관리 다른 프로젝트에는 제한적, 학습 곡선
반응형