Anthos Config Management를 사용하여 Google Cloud 리소스 구성

등록된 클러스터를 Git 저장소와 동기화하여 동일한 방법으로 Google Cloud 리소스에 대한 구성을 동기화할 수 있습니다.

기본 요건

계속하기 전에 Anthos Config ManagementConfig Connector를 모두 설치합니다.

구성 만들기

Kubernetes 객체에 대한 구성은 Kubernetes 클러스터에 유지되지만 Google Cloud 리소스에 대한 구성은 Google Cloud 프로젝트에 유지됩니다. 이러한 이유로 각 Google Cloud는 namespaces/ 내의 네임스페이스 디렉터리로 표시됩니다. 네임스페이스 디렉터리는 Google Cloud 프로젝트 ID의 이름과 정확히 일치해야 합니다. 이러한 네임스페이스 디렉터리는 추상 네임스페이스에서 상속할 수 있습니다.

구성은 YAML 또는 JSON으로 저장됩니다. 리소스 유형마다 필수 필드와 선택적 필드가 다릅니다. Pub/Sub PubSubTopic과 같은 각 리소스 유형에 대한 자세한 내용은 구성 커넥터 리소스를 참조하세요.

예를 들어 구성이 namespaces/myProject에 저장되어 있다고 가정합니다. Anthos Config Management가 저장소와 동기화 될 때 Config Connector는 myProject Google Cloud 프로젝트에서 pubsubtopic-example이라는 PubSubTopic을 작성합니다.

apiVersion: pubsub.cnrm.cloud.google.com/v1alpha2
kind: PubSubTopic
metadata:
  labels:
    label-one: "value-one"
  name: pubsubtopic-sample

자세한 예시는 Config Connector 리소스 를 참조합니다.

리소스 삭제 또는 포기

리소스를 삭제하려면 해당 저장소에서 해당 구성을 제거합니다. 다음 동기화 시 리소스가 Google Cloud 프로젝트에서 삭제됩니다.

리소스를 버려 (리소스 동기화를 중지하지만 Google 클라우드 프로젝트에서 그대로 유지)하려면 저장소에 두 개의 별도 커밋을 만듭니다.

  • 첫 번째 커밋에서 주석 cnrm.cloud.google.com/deletion-policy: abandon을 리소스에 추가합니다.
  • 해당 변경사항이 동기화된 후 저장소에서 구성을 삭제합니다.

예를 들어, SpannerInstance 리소스 관리를 중지하려면 다음을 수행합니다.

  1. 구성을 편집하고 아래 굵게 표시된 줄을 추가합니다.

    apiVersion: spanner.cnrm.cloud.google.com/v1alpha2
    kind: SpannerInstance
    metadata:
     labels:
       label-one: "value-one"
     annotations:
       cnrm.cloud.google.com/deletion-policy: abandon
     name: spannerinstance-sample
    spec:
     config: regional-us-central1
     displayName: Spanner Two
     numNodes: 1
    

    커밋하고 변경사항을 적용합니다.

  2. 두 번째 커밋에서 구성을 삭제합니다. 커밋하고 변경사항을 적용합니다.

SpannerInstance는 Google Cloud 프로젝트에 보존됩니다. 그러나 커스텀 객체가 더 이상 Anthos Config Management 클러스터에 없으며 구성이 더 이상 Config Connector 또는 Anthos Config Management를 통해 동기화되지 않습니다.

다음 단계