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

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

DevOps 엔지니어가 배포를 해야되는 상황

DevOps 엔지니어는 리소스 스펙 변경이 필요할 때, App 버전이 업그레이드 될 때 컨테이너 이미지를 변경해 배포를 해야 한다.

원래 DevOps 엔지니어는 App 버전을 교체할 때 YAML 파일을 수정해야하지만, Helm을 사용하면 배포 명령에 이미지 태그를 동적으로 부여하므로 YAML 파일 수정 없이 자동 배포가 가능하다.

 

ArgoCD Image Updater를 사용해야 하는 이유

ArgoCD가 이미지 변경을 감지하여 자동으로 K8s로 배포한다.

다만 Jenkins가 아닌 ArgoCD가 감지하여 배포하므로, 컨테이너 빌드가 끝난 이후에 자동 배포가 어려워졌다. → Jenkins가 YAML파일을 수정하고 Git에 업그레이드 하는 방법은 로직이 복잡해진다.

⇒ ArgoCD Image Update가 도커 허브를 모니터링하고 이미지 업데이트가 감지되면 ArgoCD에 배포 명령을 전송, K8s로 자동 배포를 수행한다.

 

ArgoCD Image Update 요구사항

ArgoCD Image Update는 내부적으로 --set image.tag 명령을 사용하기 때문에 Helm, Kustomize 배포 시에만 사용 가능하다.

Image Update와 도커 허브 연결 설정이 필요하다.

배포시 태그 규칙 추가가 필요하다.

 

4. Argo Image Updater 를 이용한 이미지 자동 배포 (helm) - 2232

4-1. Image Updater values-dev.yaml 파일 확인

image

4-3. Jenkins에서 배포

image

4-4. Image Updater 동작 확인

image

image설정한 로그가 없어 정보가 결과가 없음.

 

image각 이미지마다 alias를 설정해야한다.

 

imageGit에서 삭제하더라도 K8s에서 리소스를 유지할 지 여부, 내용 출돌시 Git의 변경을 자동으로 반영할 지 여부: Git과 항상 동일한 형상을 유지하고 싶을 때 사용할 수 있다. → K8s의 오토스케일링이 발생해도 Git과 형상을 유지하기 위해 다시 돌아간다.

(강의 영상처럼 분명 SYNC 켰는데 들어가보면 꺼져있음)

 

4-6. 도커 빌드 Job 생성

image

image

image

image

image

image

image

 

image

image

image

3가지 환경에 배포해봤지만 변화가 없다...

댓글을 작성해보세요.

채널톡 아이콘