구성 동기화는 Google Kubernetes Engine (GKE)에 포함된 GitOps 서비스로, Git 저장소와 같은 중앙 정보 소스에서 Kubernetes 클러스터 전반의 구성과 정책을 자동으로 동기화합니다. 자동 동기화를 통해 클러스터 Fleet을 중앙에서 관리하고, 구성 드리프트를 방지하며, 플랫폼팀과 애플리케이션팀 모두의 안정성과 보안을 개선할 수 있습니다.
이 문서는 팀의 구성 관리를 중앙 집중화하려는 운영자를 위해 작성되었습니다.
구성 동기화의 이점
구성 동기화는 Kubernetes 클러스터를 관리하는 데 다음과 같은 주요 GitOps 이점을 제공합니다.
- 환경 전반의 일관성: Git 저장소와 같은 중앙 정보 소스를 사용하면 클러스터 구성과 정책이 모든 환경에서 안정적이고 일관되게 유지됩니다.
- 자동 조정: 구성 동기화는 정보 소스를 지속적으로 모니터링하고 클러스터 상태가 그와 일치하도록 자동으로 조정하여 구성 드리프트를 방지하고 수동 작업을 줄입니다.
- 버전 제어 구성: Kubernetes 매니페스트를 Git에 저장하면 동료 검토, 감사 추적, 간편한 롤백을 포함한 표준 버전 제어 워크플로를 활용할 수 있습니다.
구성 동기화 작동 방식
구성 동기화는 중앙 정보 소스를 지속적으로 모니터링하고 클러스터 상태가 그와 일치하도록 자동으로 조정합니다. Git 저장소, OCI 이미지 또는 Helm 차트를 정보 소스로 사용할 수 있습니다.
다음 다이어그램은 플랫폼 관리자가 중앙 정책을 관리하면서 세 명의 애플리케이션 운영자가 각자의 네임스페이스 구성을 관리하는 방식을 보여줍니다. 모든 네임스페이스는 동일한 관리자 구성을 갖지만 각 네임스페이스는 서로 다른 애플리케이션 구성을 갖습니다.
클러스터 구성
구성 동기화를 사용하면 정책 컨트롤러 제약조건과 같은 공통 구성 및 정책 집합 할 수 있습니다.
kubectl apply 명령어를 반복 실행하는 대신 여러 클러스터 Fleet에 걸쳐 구성 변경사항을 조정할 수 있습니다.
네임스페이스 구성
구성 동기화를 사용하면 RBAC 역할과 같은 네임스페이스 범위 정책을 활용해 Kubernetes 네임스페이스를 프로비저닝하고 관리할 수 있습니다. 이러한 정책은 클러스터 내에서 멀티 테넌시를 구현하고 관리하는 데 도움이 되며, 애플리케이션팀이 자신의 구성을 안전하게 관리할 수 있도록 지원합니다.