
쿠버네티스 어나더 클래스 지상편: Sprint2 Day15 ArgoCD 1
ArgoCD 아키텍처
ArgoCD는 K8s 전용 배포 툴이며 릴리즈 파일 저장소로 반드시 Git을 필요로 한다.
타 시스템
⏬
Events: 이벤트 버스 구조의 아키텍처 도구
⏬
Workflow: 워크플로우 매니지먼트 도구 → 받은 이벤트의 조건에 따라 실행 순서를 생성
⏬
CD (Image Update: 도커 컨테이너 이미지 변경을 감지)
⏬
Rollouts: 고급 배포 지원 → 특정 배포 전략으로 K8s 자원 생성
⏬
Kubernetes
Git 레파지토리 분리
접근 유저별 권한을 관리할 수 있고, 불필요한 코드를 다운로드 받지 않도록 방지한다.
App 소스 코드 전용 - 개발자, 소스 빌드
App 릴리즈 전용 - 데브옵스 엔지니어 / 개발자
Addon 설치 전용 - 운영자
ArgoCD 배포의 필요 정보
Application: 하나의 App을 배포하는 단위, Jenkins의 Project Job
Project: Application 그룹, Default가 기본값
Source: 연동할 Git 정보
Destination: 연동할 K8s 클러스터 정보
Refresh: 변경 사항 측정 주기
Synchronize: K8s 배포 실행 주기
Genernal
Sync Policy: 변경 사항 발생 시 자동 / 수동 배포 지정
Sync Option: 배포 상세 옵션 (Namespcae 자동 생성 등)
Prune Policy: 리소스 삭제 정책
Desired Manifrest: Git에서 다운로드 받은 Manifest, Git에서 수정하고 Refrest 해야한다.
Live Manifrest: K8s의 리소스를 조회한 Manifest
→ diff는 Git에 변경 사행이 반영될 Live와 현재 Live를 비교해 보여준다.
ArgoCD 설치 및 배포 (kubectl, helm)
2. App 배포하기 (kubectl) - 2231
3. App 배포하기 (helm) - 2232
Helm의 -f와 동일
댓글을 작성해보세요.