管理和删除资源
了解 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
替换为 Config Connector 从其管理资源的命名空间。使用
kubectl describe
查看数据集的相关详情。kubectl describe --namespace CC_NAMESPACE bigquerydataset bigquerydatasetsample
将
CC_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
替换为 Config Connector 从其管理资源的命名空间。kubectl
的输出确认删除bigquerydataset.bigquery.cnrm.cloud.google.com "bigquerydatasetsample" deleted
使用
bq
确认数据集不再存在。bq show PROJECT_ID:bigquerydatasetsample
命令的输出包括
Not Found
。
有关流量获取限制的资源
具有服务生成的资源 ID 的资源
您只能使用 resourceID
字段来获取具有服务生成的资源 ID 的 Google Cloud 资源。
以下 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
...
例如,先前介绍的 BigQuery 数据集的 YAML(包括 abandon
删除政策)如下所示:
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 如何处理对象的声明式配置。