Argo
-
GitOps (2) - Progressive Delivery카테고리 없음 2021. 2. 13. 15:20
이전 포스트에서 살펴본 것처럼 GitOps는 Git을 Single Source of Truth 로 두고, 전체 인프라 및 워크로드를 선언적으로 코드로 정의하여 이를 기반으로 운영한다. 쿠버네티스에서는 kubectl create/apply나 helm install/upgrade가 아니라 git push로 운영을 한다는 의미이다. 실제로 GitOps 모델로 운영하기 위해서는 다음과 같은 것들이 필요하다. CI 시스템이 immutable한 이미지를 푸시하는 컨테이너 레지스트리 (latest 태그 X, 깃 커밋 번호 등을 태그로 이용) 워크로드를 YAML, Helm chart, Custom Resource 형식으로 정의하는 Git 레파지토리 컨피그 Git 레포를 모니터링하고 클러스터 상태를 원하는 상태로 변경해..
-
GitOps (1) - GitOps의 원칙과 도구들DevOps 2021. 2. 13. 14:22
※ 아래 이미지의 출처는 이 페이지임을 밝힙니다. GitOps 는 원칙은 심플하고 구현은 복잡(?)하다. 기본적으로는 Git 에 내가 원하는 인프라/어플리케이션의 최종 상태가 선언적(declarative)으로 코드로 기술된다. 그러면 인간의 개입 없이 기계가 실제 배포 환경을 원하는 값으로 수정해준다. GitOps 가 지금으로서는 쿠버네티스 운영 관리를 위해 많이 논의되고는 있지만 본래 의미로는 쿠버네티스에 한정되지는 않는다. 핵심은 Git을 single source of truth로 둔다. Git을 딜리버리 파이프라인의 중앙에 두고, 개발자는 PR을 보내서 어플리케이션 배포와 k8s 운영 태스크들 처리하도록 한다. k8s와 다른 클라우드 네이티브 기술들의 운영 모델로, 컨테이너 클러스터와 어플리케이션들..