InfoGrab DocsInfoGrab Docs

Kubernetes 클러스터와 함께 GitOps 사용

GitLab과 Flux를 사용하여 Kubernetes 클러스터에 GitOps 배포를 구성하는 방법.

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 이미지를 사용해야 합니다. GitLab 컨테이너 레지스트리 는 OCI 이미지를 지원합니다. OCI 레지스트리 Git 리포지터리 대규모로 컨테이너 이미지를 제공하도록 설계됨. 소스 코드를 버전 관리하고 저장하도록 설계됨. 변경 불가, 보안 스캔 지원. 변경 가능. 기본 Git 브랜치는 동기화를 트리거하지 않고 클러스터 상태를 저장할 수 있음. 기본 Git 브랜치는