このガイドでは、Config Connector リソース管理の基本と管理方法を説明します。
- Google Cloud API を有効にする
- Cloud Storage バケットの作成と管理
始める前に
このページの演習を完了するには:
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 の使用中のバージョンで作成、管理できるすべてのリソースのリストです。
たとえば、StorageBuckets
リソースの API の説明は、kubectl describe
で表示できます。
kubectl describe crd storagebuckets.storage.cnrm.cloud.google.com
Config Connector リソースで使用可能なリソースに関する情報を確認することもできます。
Cloud Storage Service を有効にする
Config Connector を使用して Cloud Storage API を有効にするには、YAML 構成をクラスタに適用します。
次の YAML を
enable-storage.yaml
というファイルにコピーします。apiVersion: serviceusage.cnrm.cloud.google.com/v1beta1 kind: Service metadata: name: storage.googleapis.com
kubectl apply
を使用して、構成をクラスタに適用します。Cloud Build API を有効にするには、次のコマンドを実行します。kubectl --namespace NAMESPACE apply -f enable-storage.yaml
NAMESPACE
は、リソースを管理するNamespace Config Connector に置き換えます。
Cloud Storage インスタンスを作成する
次の内容のファイルを storage-bucket.yaml
という名前で作成します。
apiVersion: storage.cnrm.cloud.google.com/v1beta1
kind: StorageBucket
metadata:
annotations:
cnrm.cloud.google.com/project-id : PROJECT_ID
name: BUCKET_NAME
spec:
lifecycleRule:
- action:
type: Delete
condition:
age: 7
以下を置き換えます。
PROJECT_ID
: プロジェクト ID。BUCKET_NAME
: バケット名。
リソースを作成すると、Config Connector によってリソースが作成されます(すでに存在しない場合)。同じ名前の Google Cloud リソースがすでに存在する場合、Config Connector はそのリソースを取得して管理します。既存のリソースの取得について詳しくは、リソースの管理と削除をご覧ください。
kubectl apply
コマンドを使用してリソースを作成します。Cloud Storage バケットを作成するには、次のコマンドを実行します。
kubectl apply -f storage-bucket.yaml --namespace NAMESPACE
NAMESPACE は、リソースを管理する Namespace Config Connector に置き換えます。
リソースの説明
kubectl describe
を使用して、リソースの詳細を取得します。
たとえば、すべての Cloud Storage バケットを表示するには、次のコマンドを実行します。
kubectl describe storagebuckets
このリストには、前の手順で作成した Cloud Storage バケットが表示されます。
リソースの準備ができていることを確認する
Cloud Storage バケットを作成した後、その status.condition
を確認できます。たとえば、Cloud Storage バケット リソースが準備できているかを確認するには、次のコマンドを実行します。
kubectl --namespace NAMESPACE wait --for=condition=READY storagebuckets BUCKET_NAME
以下を置き換えます。
NAMESPACE
は、リソースを管理する Namespace Config Connector に置き換えます。BUCKET_NAME
: バケット名。
リソースの更新
YAML ファイルを更新して kubectl
で再適用することにより、リソースのメタデータを更新できます。以前に作成したストレージ バケットのメタデータを更新するには:
storage-bucket.yaml
ファイルのmetadata
セクションを変更して、force-destroy
ディレクティブと値のラベルを追加します。apiVersion: storage.cnrm.cloud.google.com/v1beta1 kind: StorageBucket metadata: annotations: cnrm.cloud.google.com/force-destroy: "true" cnrm.cloud.google.com/project-id : PROJECT_ID labels: label-one: "my_bucket" name: BUCKET_NAME spec: lifecycleRule: - action: type: Delete condition: age: 7
以下を置き換えます。
PROJECT_ID
: プロジェクト ID。BUCKET_NAME
: バケット名。
kubectl apply
を使用してリソースを更新します。次のコマンドを実行します。kubectl apply -f storage-bucket.yaml
Cloud Storage インスタンスの名前が変更されたことを確認します。
kubectl describe storagebuckets
バケットに新しいラベルとアノテーションを含めてください。
... Labels: label-one=my_bucket Annotations: cnrm.cloud.google.com/force-destroy: true ...
リソースの削除
kubectl delete
を使用してリソースを削除します。たとえば、前に作成した StorageBucket
を削除するには、storage-bucket.yaml
ファイルを使用して kubectl delete
を実行します。
kubectl delete -f storage-bucket.yaml
リソースが削除されたことを示す確認メッセージが表示されます。
storage.cnrm.cloud.google.com "BUCKET_NAME" deleted
デフォルトでは、Config Connector は StorageBucket
リソースを削除します。このリソースを保持する場合は、リソースの管理と削除の手順をご覧ください。
次のステップ
- Config Connector が Kubernetes コンストラクトを使用して Google Cloud リソースをモデル化する方法について学習します。
- Config Connector が管理できる Google Cloud リソースを確認します。
- Config Connector を使用して、既存の Google Cloud リソースを管理します。
- GitHub リポジトリで Config Connector を使用する方法のその他の例を確認します。
- Kubernetes がオブジェクトの宣言型の構成を処理する方法を学習します。