Kubernetes 클러스터와 함께 GitOps 사용
GitLab과 Flux를 사용하여 Kubernetes 클러스터에 GitOps 배포를 구성하는 방법.
히스토리 GitLab 15.3에서 GitLab Premium에서 GitLab Free로 이동 됨. GitLab 15.7에서 id 속성을 선택 사항으로 만들기 위해 변경 됨. GitLab 15.7에서 Kubernetes 매니페스트 파일을 가져올 브랜치, 태그 또는 커밋 참조 지정이 도입 됨. GitLab 16.1에서 GitOps에 Flux를 우선시하도록 변경 됨. GitLab은 GitOps를 위해 Flux 를 통합합니다. Flux 시작하기는 GitOps를 위한 Flux 튜토리얼 을 참조하세요. GitOps를 사용하면 다음 Git 리포지터리에서 컨테이너화된 클러스터와 애플리케이션을 관리할 수 있습니다: 시스템의 단일 진실 공급원. 시스템을 운영하는 단일 장소. GitLab, Kubernetes 및 GitOps를 결합하면 다음을 가질 수 있습니다: GitOps 오퍼레이터로서의 GitLab. 자동화 및 수렴 시스템으로서의 Kubernetes. 지속적 통합을 위한 GitLab CI/CD. 지속적 배포 및 클러스터 관측을 위한 에이전트. 내장된 자동 드리프트 수정. 투명한 다중 행위자 필드 관리를 위한 서버 사이드 적용 으로 리소스 관리. 배포 순서 # 이 다이어그램은 GitOps 배포에서 리포지터리와 주요 행위자를 보여줍니다: Mermaid 다이어그램 (23줄) 소스 코드 보기 %%{init: { "fontFamily": "GitLab Sans" }}%% sequenceDiagram accTitle: Deployment sequence accDescr: Shows the repositories and main actors in a GitOps deployment. participant D as Developer participant A as Application code repository participant M as Deployment repository participant R as OCI registry participant C as Agent configuration repository participant K as GitLab agent participant F as Flux loop Regularly K-->>C: Grab the configuration end D->>+A: Pushing code changes A->>M: Updating manifest M->>R: Build an OCI artifact M->>K: Notify K->>F: Notify and watch sync R-->>F: Pulling and applying changes K->>M: Notify after sync GitOps 배포에는 Flux와 agentk 를 모두 사용해야 합니다. Flux는 클러스터 상태를 소스와 동기화하고, agentk 는 Flux 설정을 단순화하고, 클러스터-GitLab 액세스 관리를 제공하며, GitLab UI에서 클러스터 상태를 시각화합니다. 소스 제어를 위한 OCI # Git 리포지터리 대신 Flux의 소스 컨트롤러로 OCI
