リソースの管理と削除
このページでは、Config Connector が既存のリソースを管理してリソースを削除する方法について説明します。
Config Connector を使用してリソースを定義すると、次のいずれかのアクションが発生します。
- リソースが存在しない場合、Config Connector はリソースを作成します。新しいリソースの作成例については、スタートガイドをご覧ください。
- 同じ名前のリソースがすでに存在する場合、Config Connector はそのリソースを取得して管理を開始します。Config Connector は、組織、プロジェクト、またはフォルダのいずれかで名前を確認します。このページでは、Config Connector がリソースの取得、管理、削除を処理する方法について詳しく説明します。
resourceID フィールドを使用してリソースを管理することもできます。一部のリソースは、resourceID フィールドを使用する場合にのみ取得できます。一部のリソースは、新しいリソースとしてのみ作成でき、取得できません。詳細については、resourceID フィールドを使用したリソースの管理をご覧ください。
既存のリソースの取得
このセクションでは、BigQuery リソースを例として、Config Connector を使用して既存のリソースを取得する方法について説明します。
始める前に
- 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: USYAML をクラスタに適用します。
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" deletedbqを使用して、データセットがすでに存在しないことを確認します。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
取得に制限があるリソース
一部のリソースは、前のセクションの手順に沿って取得できません。このセクションでは、一部のリソースの取得に関する制限事項について詳しく説明します。
サービス生成のリソース ID があるリソース
サービス生成のリソース ID が設定された Google Cloud リソースは、resourceID フィールドを使用する場合にのみ取得可能です。
次の Config Connector リソースは、サービス生成のリソース ID が設定された Google Cloudリソースに対応します。
AccessContextManagerAccessPolicyApigeeOrganizationBillingBudgetsBudgetCloudIdentityGroupCloudIdentityMembershipComputeFirewallPolicyDLPDeidentifyTemplateDLPInspectTemplateDLPJobTriggerDLPStoredInfoTypeFolderIAPBrandIAPIdentityAwareProxyClientIdentityPlatformTenantMonitoringAlertPolicyMonitoringGroupMonitoringNotificationChannelMonitoringUptimeCheckConfigRecaptchaEnterpriseKeyResourceManagerLienSQLSSLCertSecretManagerSecretVersionStorageNotificationStorageTransferJobVertexAIDatasetVertexAIIndex
resourceID フィールドの使用方法については、resourceID フィールドを使用したリソースの管理をご覧ください。
取得できないリソース
次の Config Connector リソースは、既存の Google Cloud リソースの取得をサポートしていません。
DataflowFlexTemplateJobFirestoreIndexIAMServiceAccountKey
次のステップ
- Config Connector が Kubernetes コンストラクトを使用して Google Cloud リソースをモデル化する方法について学習します。
- Config Connector が管理できる Google Cloud リソースを確認します。
- GitHub リポジトリで Config Connector を使用する方法のその他の例を確認します。
- Kubernetes がオブジェクトの宣言型の構成を処理する方法を学習します。