개요
Argo CD는 쿠버네티스를 위한 선언적인 지속적 제공(CD) 툴입니다. 클러스터에 필요한 리소스를 제공하는 데 독립 실행형 툴로 사용하거나 CI/CD 워크플로우의 일부로 사용할 수 있습니다.
GitOps에 맞게 인프라와 애플리케이션 구성을 관리하기 위해서는 Git 리포지토리가 단일 정보 소스여야 합니다. 또한 원하는 시스템 상태를 버전화하고, 선언적으로 표시하고, 자동으로 가져와야 합니다. 바로 이런 이유로 Argo CD가 필요합니다.
위 동영상을 확인해 보세요. Red Hat CTO인 Chris Wright가 Intuit의 Ed Lee와 함께 개발 운영에 GitOps와 Argo CD를 도입하는 방법을 설명합니다.
Argo CD를 OpenShift와 함께 사용해야 하는 이유
Argo CD는 특히 Red Hat® OpenShift®에서 Git 리포지토리(정보 소스)의 글로벌 사용자 정의 리소스를 OpenShift 클러스터에 제공하도록 구현할 수 있습니다. 이러한 리소스에는 애플리케이션 정의, 구성, 환경의 목표 상태가 포함될 수 있으며, Argo CD를 통해 버전을 관리할 수도 있습니다.
Argo CD를 사용하여 해당 리소스를 지속적으로 제공하면 애플리케이션이 원하는 상태와 동기화되지 않는 문제를 방지할 수 있습니다.
예시 아키텍처에서 Argo CD는 클러스터 관리자가 정의하는 매개 변수에 따라 Git 리포지토리와 애플리케이션 사이를 지속적으로 확인하는 애플리케이션 컨트롤러 역할을 합니다.
Argo CD로 애플리케이션을 원하는 상태로 유지하는 방법
애플리케이션이 라이프사이클 이벤트(PreSync, Sync, PostSync)에 대해 사용자가 정의한 후크 기준을 충족하는 경우 Argo CD는 구성 방식에 따라 선택적으로 수정 작업을 실행할 수 있습니다. 이는 Argo CD를 적용할 수 있는 수많은 활용 사례 중 하나일 뿐입니다. 기타 옵션에는 다음이 포함됩니다.
- 암호 관리자와 동기화
- OpenShift 암호를 Vault와 같은 암호 관리자와 계속 동기화합니다.
- 구성 드리프트 감지
- 클러스터 구성이 지정된 Git 리포지토리와 동기화되지 않으면 OpenShift GitOps에서 경고를 감지하고 표시하도록 합니다.
- 단일 레지스트리 내 여러 클러스터
- 모든 클러스터 구성을 단일 정보 소스에서 제공하도록 단일 Git 리포지토리에서 여러 OpenShift 클러스터 구성을 정의하고 클러스터에 선택적으로 적용합니다.
- 클러스터 구성 계층 구조(상속)
- 단일 또는 다중 쿠버네티스 클러스터에 구성을 적용할 수 있도록 Git 리포지토리에 클러스터 구성의 계층 구조(상속을 포함한 단계, 프로덕션, 애플리케이션 포트폴리오 등)를 정의합니다.
- 구성에 템플릿 적용 및 재정의
- 상속된 구성과 해당 값의 하위 집합을 재정의하여, 적용 대상 클러스터에 맞게 구성을 조정합니다.
- 상속된 구성과 해당 값의 하위 집합을 재정의하여, 적용 대상 클러스터에 맞게 구성을 조정합니다.
인터랙티브 랩으로 체험하기
Argo CD를 직접 경험해 보고 싶으신가요? 무료 인터랙티브 랩을 체험해 보세요. 이러한 툴을 사용하여 샘플 애플리케이션을 배포해 볼 수 있습니다.