リソースの管理と削除
Config Connector が既存のリソースを管理してリソースを削除する方法について説明します。
リソースの作成
リソースを作成すると、Config Connector はリソースが存在しない場合はリソースを作成します。同じ名前の Google Cloud リソースがすでに存在する場合、Config Connector はそのリソースを取得して管理します。
リソースの作成の詳細については、スタートガイドをご覧ください。
resourceID
フィールドを使用してリソースを管理することもできます。詳細については、resourceID
フィールドを使用したリソースの管理をご覧ください。
既存のリソースの取得
このセクションでは、Config Connector を使用して既存の BigQuery リソースを取得する方法について説明します。
始める前に
- BigQuery API を有効にします。.
bq
コマンドライン ツールにアクセスできることを確認します。bq
がない場合は、Cloud Shell を使用するか、gcloud CLI を使用してインストールします。
BigQuery データセットの取得
マニフェストとリソース名で値が一致すると、Config Connector はリソースを取得または制御します。リソースに名前(プロジェクト ID など)がない場合は、そのリソースの ID が使用されます。
空の BigQuery データセットを作成し、Config Connector を使用してデータセットを取得することで、Config Connector が既存のリソースを処理する方法を確認します。
bq
を使用して、bigquerydatasetsample
という名前の BigQuery データセットを作成します。bq --location=US mk \
--dataset \ --default_table_expiration 3600 \ --description description \ PROJECT_ID:bigquerydatasetsample次の内容を
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: US
YAML をクラスタに適用します。
kubectl apply --namespace CC_NAMESPACE -f bq-sample.yaml
CC_NAMESPACE
は、リソースを管理するNamespace Config Connector に置き換えます。kubectl describe
を使用して、データセットの詳細を確認します。kubectl describe --namespace CC_NAMESPACE bigquerydataset bigquerydatasetsample
CC_NAMESPACE
は、リソースを管理するNamespace Config Connector に置き換えます。kubectl describe
からの出力には、リソースのステータスとオーナー権限に関するメタデータが含まれています。
データセットの削除
デフォルトでは、Config Connector がリソースを取得して管理した後、クラスターからオブジェクトを削除すると、リソースが削除されます。データセットを保持したい場合は、リソースの deletion-policy
を設定します。
たとえば、bigquerydataset-sample
を取得したマニフェストを削除すると、BigQuery からデータセットが削除されます。
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
bq
を使用して、データセットがすでに存在しないことを確認します。bq show PROJECT_ID:bigquerydatasetsample
コマンドの出力には
Not Found
が含まれます。
取得に制限があるリソース
サービス生成のリソース ID があるリソース
サービス生成のリソース ID を持つ Google Cloud リソースは、resourceID
フィールドを使用する場合にのみ取得可能です。
次の Config Connector リソースは、サービス生成のリソース ID を持つ Google Cloud リソースに対応します。
AccessContextManagerAccessPolicy
ApigeeOrganization
BillingBudgetsBudget
CloudIdentityGroup
CloudIdentityMembership
ComputeFirewallPolicy
DLPDeidentifyTemplate
DLPInspectTemplate
DLPJobTrigger
DLPStoredInfoType
Folder
IAPBrand
IAPIdentityAwareProxyClient
IdentityPlatformTenant
MonitoringAlertPolicy
MonitoringGroup
MonitoringNotificationChannel
MonitoringUptimeCheckConfig
RecaptchaEnterpriseKey
ResourceManagerLien
SQLSSLCert
SecretManagerSecretVersion
StorageNotification
StorageTransferJob
VertexAIDataset
VertexAIIndex
resourceID
フィールドの使用方法については、resourceID フィールドを使用したリソースの管理をご覧ください。
取得できないリソース
次の Config Connector リソースは、既存の Google Cloud リソースの取得をサポートしていません。
DataflowFlexTemplateJob
FirestoreIndex
IAMServiceAccountKey
削除後にリソースを保持する
...
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 がオブジェクトの宣言型の構成を処理する方法を学習します。