쿠버네티스 어나더 클래스 지상편: Sprint2 Day15 ArgoCD 1

쿠버네티스 어나더 클래스 지상편: 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)

image

image

image

image

image

image

image

image

image

 

image

image

 

2. App 배포하기 (kubectl) - 2231

image

image

image

image

image

image

image

3. App 배포하기 (helm) - 2232

image

image

imageHelm의 -f와 동일

 

image

댓글을 작성해보세요.

채널톡 아이콘