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 など、リソースの各タイプの詳細については、Config Connector リソースをご覧ください。

たとえば、このコンフィグが 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

その他の例については、コネクタ リソースの構成をご覧ください。

リソースの削除または破棄

リソースを削除するには、リポジトリからそのコンフィグを削除します。リソースは、次の同期時に Google Cloud プロジェクトから削除されます。

リソースを破棄するには(リソースの同期を停止しますが、Google Cloud プロジェクト内にリソースをそのままにしておくため)、リポジトリへの 2 つの個別の commit を作成します。

  • 最初の commit では、リソースにアノテーション 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
    

    変更を commit して push します。

  2. 2 番目の commit で、コンフィグを削除します。変更を commit して push します。

SpannerInstance は、Google Cloud プロジェクトに保持されます。ただし、そのカスタム オブジェクトは Anthos Config Management クラスタに存在せず、そのコンフィグは Config Connector または Anthos Config Management によって同期はされなくなります。

次のステップ