소개
Argo CD를 사용하는 이유는 GitOps 방식으로 애플리케이션을 배포하기 위함입니다.
GitOps는 2017년 위브웍스(Weaveworks Inc.)에서 처음 사용한 용어로, DevOps의 실천 방법 중 하나입니다. 특히 이는 클라우드 네이티브 애플리케이션을 대상으로 한 지속적 배포(Continuous Deployment)에 초점을 둡니다. GitOps라는 용어에서 알 수 있듯이, 애플리케이션의 배포와 운영에 관련된 모든 요소를 코드화하고, 깃(Git)을 사용하여 운영(Ops)하는 것이 GitOps의 핵심입니다. 이는 IaC(Infrastructure as Code)에서 파생된 개념으로, 인프라를 코드로 관리하는 것에서 시작되어, 전체 애플리케이션 범위로 확장되었습니다.
이번 실습에서는 Argo CD 구축하는 방법을 학습합니다. 이 방법을 배우고 나면 Argo CD를 이용한 GitOps 방식의 CD 파이프라인을 구축할 수 있습니다.
Argo CD란?
Argo CD는 Kubernetes를 위한 선언적 GitOps의 CD 도구입니다.
Argo CD는 Kubernetes 컨트롤러로 구현되어 실행 중인 애플리케이션을 지속적으로 모니터링하고, 현재 라이브 상태를 Git 리포지터리에 명시된 대상 상태와 비교합니다. 라이브 상태가 대상 상태가 아닌, 배포된 애플리케이션은 OutOfSync(동기화되지 않은 것)로 간주합니다. Argo CD는 차이점을 보고하고 시각화하면서 라이브 상태를 원하는 대상 상태로 자동 또는 수동으로 동기화하는 기능을 제공합니다. Git 리포지터리에서 원하는 대상 상태를 수정하면 지정된 대상 환경에 자동으로 적용되고 반영될 수 있습니다.
Argo CD는 원하는 애플리케이션 상태를 정의하기 위한 정보 소스로 Git 리포지터리를 사용하는 GitOps 패턴을 따릅니다. Kubernetes 매니페스트는 여러 가지 방법으로 지정할 수 있습니다.
•
Kustomize
•
Helm
•
Jsonnet
•
YAML/JSON 형식의 일반 디렉터리
•
구성 관리 플러그인으로 이뤄진 모든 맞춤형 구성 관리 도구
학습 내용
•
Argo CD Helm Chart 리포지터리를 구성하는 방법
•
Argo CD Helm Chart의 구성 정보를 배포 환경에 맞게 설정하는 방법
•
Helm Chart로 Argo CD를 배포하고 확인하는 방법
아키텍처
사전 준비사항
기본 요건
•
Kubernetes의 기본 개념
•
Helm, kubectl 사용법
•
GitOps 워크플로의 이해
필요 항목
•
Argo CD를 배포할 Kubernetes 클러스터가 구축되어 있어야 합니다.
•
TLS/SSL 인증서를 사용할 수 있도록 cert-manager가 구축되어 있어야 합니다.
•
Argo CD Ingress 리소스를 사용할 수 있도록 NGINX Ingress 컨트롤러가 구축되어 있어야 합니다.
DevOps 전문가 실험실 Expert Labs에서 Argo CD 구축 방법을 학습하세요!
IDE, Port 기반 실습 환경과 실무 특화 교재, 20년 경력의 전문 엔지니어 강의로
Argo CD의 Kubernetes 클러스터 배포, 구성 방법을
편리하게 실습하고, 익힐 수 있습니다.
InfoGrab의 서비스와 기술에 대한 더 많은 정보가 알고 싶으신가요?
인포그랩 유한회사 | COPYRIGHT ⓒ InfoGrab LC. All Right Reserved.
경기도 성남시 분당구 백현로101번길 17, 초림프라자 511~512호(수내동, 초림프라자)