リソースの管理と削除

Config Connector が既存のリソースを管理し、リソースの削除を処理する方法について説明します。

リソースの作成

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

リソースの作成の詳細については、スタートガイドをご覧ください。

既存のリソースの取得

このセクションでは、Config Connector を使用して既存の BigQuery リソースを取得する方法について説明します。

始める前に

  1. BigQuery API を有効にします。.
  2. bq コマンドライン ツールにアクセスできることを確認します。bq がない場合は、Cloud Shell を使用するか、gcloud SDK でインストールします。

BigQuery データセットの取得

Config Connector は、マニフェストの値とリソース名が一致すると、リソースを取得または制御します。リソースに名前(プロジェクト ID など)がない場合は、リソースの ID が使用されます。

空の BigQuery データセットを作成し、Config Connector でデータセットを取得することで、Config Connector が既存のリソースを処理する方法を学習します。

  1. bq を使用して、bigquerydatasetsample という名前の BigQuery データセットを作成します。

    bq --location=US mk \
    --dataset \
    --default_table_expiration 3600 \
    --description description \
    [PROJECT_ID]:bigquerydatasetsample
  2. 次の内容を bq-sample.yaml という名前のファイルにコピーします。

      apiVersion: bigquery.cnrm.cloud.google.com/v1beta1
      kind: BigQueryDataset
      metadata:
        name: bigquerydatasetsample
      spec:
        defaultTableExpirationMs: 3600000
        description: "BigQuery Dataset Sample"
        friendlyName: bigquerydataset-sample
        location:
    
  3. YAML をクラスタに適用します。

    kubectl apply --namespace [CC_NAMESPACE] -f bq-sample.yaml

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

  4. kubectl describe を使用して、データセットの詳細を確認します。

    kubectl describe --namespace [CC_NAMESPACE] bigquerydataset bigquerydatasetsample

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

kubectl describe からの出力には、リソースのステータスとオーナー権限に関するメタデータが含まれています。

データセットの削除

デフォルトでは、Config Connector がリソースを取得して管理した後、クラスターからオブジェクトを削除すると、リソースが削除されます。データセットを保持したい場合は、リソースの deletion-policy を設定します。

たとえば、bigquerydataset-sample を取得したマニフェストを削除すると、BigQuery からデータセットが削除されます。

  1. kubectl delete を使用して bigquerydataset-sample データセットを削除できます。

    kubectl delete --namespace [CC_NAMESPACE] -f bq-sample.yaml

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

    kubectl の次の出力により、削除が確認されます。bigquerydataset.bigquery.cnrm.cloud.google.com "bigquerydatasetsample" deleted

  2. bq を使用して、データセットがすでに存在しないことを確認します。

    bq show [PROJECT_ID]:bigquerydatasetsample

    コマンドの出力には Not Found が含まれます。

削除後にリソースを保持する

...
metadata:
  annotations:
    cnrm.cloud.google.com/deletion-policy: abandon
...

たとえば、abandon 削除ポリシーを含む、前に説明した BigQuery データセットの YAML は次のとおりです。

apiVersion: bigquery.cnrm.cloud.google.com/v1beta1
  kind: BigQueryDataset
  metadata:
    name: bigquerydatasetsample
    annotations:
      cnrm.cloud.google.com/deletion-policy: abandon
  spec:
    defaultTableExpirationMs: 3600000
    description: "BigQuery Dataset Sample"
    friendlyName: bigquerydataset-sample
    location: US

次のステップ

  • Config Connector が Kubernetes コンストラクトを使用して Google Cloud リソースをモデル化する方法について学習します。
  • Config Connector が管理できる Google Cloud リソースを確認します。
  • GitHub リポジトリで Config Connector を使用する方法のその他の例を確認します。
  • Kubernetes がオブジェクトの宣言型の構成を処理する方法を学習します。