Anthos Config Management 개요

Anthos Config Management에서는 클러스터 운영자가 Git 저장소(또는 저장소)에 저장된 구성(config)이라는 파일을 사용하여 단일 클러스터, 멀티 테넌트 클러스터, 멀티 클러스터 Kubernetes 배포를 관리할 수 있습니다.

일부 구성은 Kubernetes 객체 매니페스트이지만 그 밖의 구성은 객체 매니페스트가 아니며 대신 Anthos Config Management에 필요한 정보를 제공합니다. YAML 또는 JSON으로 구성을 작성할 수 있습니다. Anthos Config Management는 이러한 파일의 업데이트를 감시하고 변경사항을 모든 관련 클러스터에 자동으로 적용합니다.

코드로 구성 방식을 사용하면 이미 Kubernetes에 배포된 애플리케이션 관리에 이미 사용 중인 것과 동일한 원칙을 사용하여 Google Kubernetes Engine(GKE) 또는 GKE On-Prem 클러스터의 구성을 관리할 수 있습니다. Anthos Config Management를 사용하면 다음을 수행할 수 있습니다.

  • 변경사항을 실제 환경으로 푸시하기 전에 코드 검토를 요구하고 구성 변경을 초래한 커밋을 정확하게 감사합니다.
  • 검증되지 않은 변경사항을 실제 클러스터로 푸시하여 문서화된 구성과 실제 환경 간의 차이점을 파악하기 어려운 그림자 작업(shadow ops)의 위험을 줄일 수 있습니다. 모든 클러스터 구성 변경사항이 Anthos Config Management를 사용하여 전파되도록 요구하고 Kubernetes API로의 직접 액세스를 잠글 수 있습니다.
  • kubectl apply 명령어 수천 개를 실행하는 스크립트를 수동으로 작성하는 대신 한 번의 Git 커밋으로 클러스터 수백 개에 구성 변경사항을 적용합니다.
  • 각 클러스터에 적용된 메타데이터를 기반으로 관련된 클러스터에만 변경사항을 푸시합니다.
  • 지속적 통합/지속적 배포(CI/CD) 파이프라인을 사용하여 변경사항을 테스트하고 테스트를 통과하면 자동으로 적용합니다.
  • 되돌린 후 조사 전략을 사용하여 브레이킹 체인지를 롤백하고 실제 클러스터를 정상 작동 상태로 되돌립니다. 그런 다음 문제가 있는 변경사항을 수정하고 이를 새로운 커밋으로 적용합니다. 이 전략은 구성과 관련된 가동 중단으로 인한 다운타임을 줄여줍니다.

Anthos Config Management는 클러스터 상태를 Git 저장소와 동기화합니다. Config Management Operator 커스텀 컨트롤러는 Git 저장소와 클러스터 상태를 모니터링하여, 사용자가 선택하는 Kubernetes 객체마다 일관성을 유지합니다. Operator가 리소스에 변경사항을 적용할 수 없으면 리소스는 마지막으로 알려진 정상 상태로 남아 있게 됩니다.

Anthos Config Management는 단일 Git 저장소에서 단일 클러스터 또는 다중 클러스터를 구성할 수 있습니다.

기본 요건

Anthos Config Management에는 활성 Anthos 권한이 필요합니다. 가격 정보는 영업팀에 문의하세요.

Anthos Config Management에서는 네임스페이스, 라벨, 주석을 구현의 핵심 부분으로 사용하므로, 시작하기 전에 이러한 개념을 알고 있어야 합니다.

구성을 작성하기 전에 Kubernetes 객체에 허용된 필수 필드와 선택적 필드를 파악해야 합니다.

또한 Anthos Config Management에는 몇 가지 새로운 용어와 개념이 도입되었습니다. 다음 섹션에서는 이들을 간략하게 설명하며 각 개념에 대한 자세한 정보를 알 수 있는 링크도 제공합니다.

새로운 개념

Anthos Config Management의 새로운 핵심 개념은 다음과 같습니다.

구성

구성은 YAML 또는 JSON으로 작성된 Kubernetes 구성 선언으로, Anthos Config Management는 이를 읽고 클러스터 1개 이상에 적용하여 클러스터에서 Kubernetes 객체 또는 리소스를 만들거나 구성합니다. 구성은 Git 저장소에 저장됩니다(저장소 정의 참조). 구성에는 kubectl edit 또는 kubectl apply를 사용하여 Kubernetes 클러스터에 적용할 수 있는 구성 세부정보가 포함될 수 있습니다. 클러스터에 이미 있는 커스텀 리소스를 구성할 수도 있습니다. 단일 파일에 구성을 여러 개 정의할 수 있습니다.

자세한 내용은 Kubernetes 객체 구성을 참조하세요.

저장소

저장소는 Anthos Config Management 구성을 포함하여 구성이 저장되는 Git 저장소입니다. 모든 구성은 같은 저장소에 저장되어야 합니다. Anthos Config Management를 구성할 때는 Anthos Config Management가 변경사항을 모니터링하는 저장소, 브랜치, 하위 디렉토리를 구성해야 합니다.

저장소의 구조는 중요하며 Anthos Config Management 저장소 사용에서 자세히 설명합니다.

추상 네임스페이스 디렉터리

Anthos Config Management는 추상 네임스페이스라는 메커니즘을 제공합니다. 추상 네임스페이스를 사용하면 구성을 복제하지 않고도 여러 관련 네임스페이스에 정책을 적용하고 지정된 네임스페이스 또는 네임스페이스 집합에 대한 구성을 재정의하거나 확장할 수 있습니다.

추상 네임스페이스는 저장소에서 파일 시스템 형식의 계층 구조를 사용하여 작동합니다. 파일 시스템 트리와 비슷한 메커니즘을 사용하여 namespaces/ 하위 디렉터리의 디렉터리 구조에 따라 네임스페이스에 적용되는 정책이 결정됩니다. 네임스페이스는 추상 네임스페이스 디렉터리라는 하위 디렉터리에 중첩될 수 있습니다.

자세한 내용은 네임스페이스 상속 개요를 참조하세요.

파일 보기 및 확인

Anthos Config Management는 API를 제공합니다. nomosnomos.exe 명령어는 API를 사용하고 저장소 설정 및 구성 유효성 검사 프로세스를 간소화합니다.

자세한 내용은 nomos 명령어 사용을 참조하세요.

다음 단계