Config Connector を使ってみる
このガイドでは、Config Connector リソース管理の基本を示すために、次のタスクの完了する方法を説明します。
- Google Cloud API を有効にする
- Pub/Sub トピックを作成および管理します。
始める前に
このページの演習を始める前に、次のタスクを完了します。
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 構成をクラスタに適用します。
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 に置き換えます。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 トピックのラベルを変更するには、次の手順を行います。
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 トピック名
kubectl apply
を使用してリソースを更新します。次のコマンドを実行します。kubectl apply -f pubsub-topic.yaml
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
リソースを削除します。このリソースを保持する場合は、リソースの管理と削除の手順をご覧ください。
次のステップ
- Config Connector が Kubernetes コンストラクトを使用して Google Cloud リソースをモデル化する方法について学習します。
- Config Connector が管理できる Google Cloud リソースを確認します。
- Config Connector を使用して、既存の Google Cloud リソースを管理します。
- GitHub リポジトリで Config Connector を使用する方法のその他の例を確認します。
- Kubernetes がオブジェクトの宣言型の構成を処理する方法を学習します。