Config Connector を使ってみる

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

  • Google Cloud API を有効にする
  • Cloud Spanner インスタンスの作成と管理

始める前に

このページの手順を完了するには:

利用可能な Google Cloud リソースを見つける

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

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

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

たとえば、kubectl describe を使用して、SpannerInstance リソースの API の説明を表示できます。

kubectl describe crd spannerinstances.spanner.cnrm.cloud.google.com

Cloud Spanner Service を有効にする

Config Connector を使用して、YAML 構成をクラスタに適用することで、Cloud Spanner API を有効にできます。

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

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

    kubectl --namespace [CC_NAMESPACE] apply -f enable-spanner.yaml

    [CC_NAMESPACE] は、リソースを管理するNamespace Config Connector に置き換えます。

Cloud Spanner インスタンスを作成する

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

apiVersion: spanner.cnrm.cloud.google.com/v1beta1
kind: SpannerInstance
metadata:
  annotations:
    cnrm.cloud.google.com/project-id: [PROJECT_ID]
  labels:
    label-one: "value-one"
  name: spannerinstance-sample
spec:
  config: regional-us-west1
  displayName: Spanner Instance Sample
  numNodes: 1

[PROJECT_ID] は、プロジェクト ID に置き換えます。

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

kubectl apply コマンドを使用してリソースを作成します。Cloud Spanner インスタンスを作成するには、次のコマンドをコピーします。

kubectl apply -f spanner-instance.yaml --namespace [CC_NAMESPACE]

[CC_NAMESPACE] を Config Connector の Namespace に置き換えます。

リソースの説明

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

たとえば、Cloud Spanner インスタンスを表示するには、次のコマンドを実行します。

kubectl describe spannerinstance spannerinstance-sample

リソースの更新

YAML ファイルを更新して kubectl で再適用することにより、リソースのメタデータを更新できます。以前に作成した Spanner インスタンスのメタデータを更新するには:

  1. spanner-instance.yaml ファイルを変更して、spec.displayName を「Spanner Instance Sample」から「My Spanner Instance」に変更します。

    apiVersion: spanner.cnrm.cloud.google.com/v1beta1
    kind: SpannerInstance
    metadata:
      annotations:
        cnrm.cloud.google.com/project-id: [PROJECT_ID]
      labels:
        label-one: "value-one"
      name: spannerinstance-sample
    spec:
      config: regional-us-west1
      displayName: My Spanner Instance
      numNodes: 1
    

    [PROJECT_ID] を実際のプロジェクト ID に置き換えます。

  2. kubectl apply を使用してリソースを更新します。次のコマンドを実行します。

    kubectl apply -f spanner-instance.yaml
  3. Cloud Spanner インスタンスの名前が変更されたことを確認します。

    kubectl describe spannerinstance spannerinstance-sample

    説明には新しい名前 My Spanner Instance を含めてください。

リソースの削除

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

kubectl delete -f spanner-instance.yaml

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

spannerinstance.spanner.cnrm.cloud.google.com "spannerinstance-sample" deleted

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

次のステップ