Google Cloud リソースを構成する

登録されたクラスタを本当のソースとしての Git リポジトリと同期できるのと同じように、Google Cloud リソースの構成ファイルを同期できます。

前提条件

続行する前に、Config SyncConfig Connector の両方をインストールします。Config Controller を設定すると、Config Sync と Config 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

その他の例については、Config Connector のリソースをご覧ください。

リソースを削除または破棄する

リソースを削除するには、リポからその構成ファイルを削除します。リソースは、次の同期時に 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. Config Sync によって SpannerInstance リソースへの変更が Anthos Config Management クラスタと同期されるのを待ちます。次の nomos コマンドを使用して、リソースが同期されているかどうかを確認できます。

    nomos status
    

    commit が同期されるまで待ちます。

  3. 2 番目の commit で、構成ファイルを削除します。変更を commit して push します。

SpannerInstance は、Google Cloud プロジェクトに保持されます。ただし、そのカスタム オブジェクトは Anthos Config Management クラスタに存在せず、その構成ファイルは Config Connector または Anthos Config Management を使用しての同期はされなくなります。

次のステップ