Config Connector を使ってみる


このガイドでは、Config Connector リソース管理の基本と管理方法を説明します。

始める前に

このページの演習を完了するには、次のタスクを完了してください。

  • GKE アドオンを使用したインストールのすべての手順を完了して、Config Connector をインストールします。

  • デフォルトの名前空間を使用するように Config Connector を構成します。

  • Config Connector は Resource Manager API を使用してサービス API を有効にします。この手順を行うには、Resource Manager API を有効にする必要があります。この API を有効にするには、gcloud コマンドライン ツールを使用します。
    gcloud services enable cloudresourcemanager.googleapis.com

利用可能な Google Cloud リソースの確認

Config Connector で作成できる Google Cloud リソースの種類を確認するには、次のコマンドを実行します。

kubectl get crds --selector cnrm.cloud.google.com/managed-by-kcc=true

出力は、Config Connector の使用中のバージョンで作成、管理できるすべてのリソースのリストです。

たとえば、PubSubTopic リソースの API の説明は、kubectl describe で表示できます。

kubectl describe crd pubsubtopics.pubsub.cnrm.cloud.google.com

Config Connector リソースで使用可能なリソースに関する情報を確認することもできます。

Pub/Sub サービスの有効化

Config Connector を使用し、YAML 構成をクラスタに適用して Pub/Sub API を有効にします。

  1. 次の YAML を enable-pubsub.yaml というファイルにコピーします。

    apiVersion: serviceusage.cnrm.cloud.google.com/v1beta1
    kind: Service
    metadata:
      name: pubsub.googleapis.com
    
  2. kubectl applyを使用して、構成をクラスタに適用します。Pub/Sub API を有効にするには、次のコマンドを実行します。

    kubectl apply -f enable-pubsub.yaml

Pub/Sub インスタンスの作成

次の内容で pubsub-topic.yaml という名前のファイルを作成します。

  apiVersion: pubsub.cnrm.cloud.google.com/v1beta1
  kind: PubSubTopic
  metadata:
    labels:
      LABEL_VALUE
    name: TOPIC_NAME

以下を置き換えます。

  • LABEL_VALUE: ラベルの Key-Value ペア。例: environment: production
  • TOPIC_NAME: Pub/Sub トピック名

リソースを作成すると、Config Connector はリソースが存在しない場合はリソースを作成します。同じ名前の Google Cloud リソースがすでに存在する場合、Config Connector はそのリソースを取得して管理します。既存のリソースの取得について詳しくは、リソースの管理と削除をご覧ください。

kubectl apply コマンドを使用してリソースを作成します。Pub/Sub トピックを作成するには、次のコマンドを実行します。

kubectl apply -f pubsub-topic.yaml 

リソースの説明

kubectl describe を使用して、リソースの詳細を取得します。

たとえば、すべての Pub/Sub トピックを表示するには、次のコマンドを実行します。

kubectl describe pubsubtopics

このリストには、前のセクションで作成した Pub/Sub トピックが表示されます。

リソースの準備ができていることを確認する

Pub/Sub トピックを作成した後、トピックの status.condition を確認できます。たとえば、Pub/Sub トピック リソースについての準備が完了しているかどうかを確認するには、次のコマンドを実行します。

kubectl wait --for=condition=READY pubsubtopics TOPIC_NAME

TOPIC_NAME を Pub/Sub トピックの名前に置き換えます。

出力は次の例のようになります。

pubsubtopic.pubsub.cnrm.cloud.google.com/TOPIC_NAME condition met

リソースの更新

YAML ファイルを更新して kubectl で再適用することにより、リソースのメタデータを更新できます。

前のセクションで作成した Pub/Sub トピックのラベルを変更するには、次の手順を行います。

  1. pubsub-topic.yaml ファイルの metadata セクションを変更し、ラベルを変更します。

      apiVersion: pubsub.cnrm.cloud.google.com/v1beta1
      kind: PubSubTopic
      metadata:
        labels:
          NEW_LABEL_VALUE
        name: TOPIC_NAME
    

    以下を置き換えます。

    • NEW_LABEL_VALUE: 前に追加したラベルの更新値。例: environment: staging
    • TOPIC_NAME: Pub/Sub トピック名
  2. kubectl apply を使用してリソースを更新します。次のコマンドを実行します。

    kubectl apply -f pubsub-topic.yaml
  3. Pub/Sub インスタンスの名前が変更されたことを確認します。

    kubectl describe pubsubtopics

    トピックには新しいラベルを付加する必要があります。

リソースの削除

kubectl delete を使用してリソースを削除します。たとえば、前に作成した PubSubTopic を削除するには、pubsub-topic.yaml ファイルを使用して kubectl delete を実行します。

kubectl delete -f pubsub-topic.yaml

リソースが削除されたことを示す確認メッセージが表示されます。

pubsubtopic.pubsub.cnrm.cloud.google.com "TOPIC_NAME" deleted

デフォルトでは、Config Connector は PubSubTopic リソースを削除します。 このリソースを保持する場合は、リソースの管理と削除の手順をご覧ください。

次のステップ