Config Connector を使ってみる


このガイドでは、Config Connector リソース管理の基本を示すために、次のタスクの完了する方法を説明します。

始める前に

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

  • Config Connector Operator の手動インストールすべての手順を完了して、Config Connector をインストールします。

  • デフォルトの名前空間を使用するように Config Connector を構成します。 デフォルトとして設定する名前空間は、リソースを作成する場所の指定をしたときにアノテーションを追加した名前空間と同じである必要があります。

  • Config Connector は Service Usage API を使用してサービス API を有効にします。以下の手順を行うには、Service Usage API を有効にする必要があります。この API は、Google Cloud CLI を使用して有効にできます。
    gcloud services enable serviceusage.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 を使用して Pub/Sub API を有効にするには、YAML 構成をクラスタに適用します。

  1. enable-pubsub.yaml という名前のファイルを作成して、次の YAML をコピーします。

    apiVersion: serviceusage.cnrm.cloud.google.com/v1beta1
    kind: Service
    metadata:
      name: pubsub.googleapis.com
    spec:
      projectRef:
        external: projects/PROJECT_ID
    

    PROJECT_ID は、実際の Google Cloud プロジェクト ID に置き換えます。

  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:
    annotations:
      cnrm.cloud.google.com/project-id: PROJECT_ID
    labels:
      LABEL_KEY:LABEL_VALUE
    name: TOPIC_NAME

次のように置き換えます。

  • PROJECT_ID: Google Cloud プロジェクト ID。
  • LABEL_KEY: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:
        annotations:
          cnrm.cloud.google.com/project-id: PROJECT_ID
        labels:
          NEW_LABEL_VALUE
        name: TOPIC_NAME
    

    次のように置き換えます。

    • PROJECT_ID: Google Cloud プロジェクト ID。
    • 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 リソースを削除します。このリソースを保持する場合は、リソースの管理と削除の手順をご覧ください。

次のステップ