资源

Config Connector 包含一个自定义资源定义 (CRD) 集合。每个 CRD 都可让您从 Kubernetes 配置 Google Cloud 资源。Config Connector 还可让您利用 Kubernetes 的许多功能来管理 Google Cloud 资源。

本页面介绍 Config Connector 如何使用 Kubernetes 对象及其元数据。

Kubernetes 对象和 Config Connector 资源

例如,在创建 kind: SQLInstanceKubernetes 对象时,Config Connector 将创建一个 Cloud SQL 实例。本部分介绍 Config Connector 如何扩展对象类型。

规范和状态

每个 Config Connector 资源都是一个 Kubernetes 对象,其中包含一个 Spec 和一个 Status

规范
spec 字段包含定义对象的期望状态的所有字段,但 Labels 除外。spec 的子字段引用了关联的 Google Cloud 资源。更改子字段时,Google Cloud 资源的值最终与您的预期值一致
例如,SQLInstance 资源中的 databaseVersion 是一个可写入字段。
状态
status 是只读字段,包含对象的当前状态。Config Connector 会定期读取关于 Google Cloud 资源的信息并更新 status。您可以通过查看 Status.Condition 检查资源的错误消息或就绪情况。
例如,SQLInstance 资源的 connectionName 是一个只读 status 字段。

对象元数据

每个 Config Connector 资源包含一个元数据字段。本部分介绍如何使用元数据中的子字段。

名称
Config Connector 资源的名称。它应遵循 Kubernetes 对象名称的命名约定。默认情况下,它用作相应 Google Cloud 资源的名称。如果 Config Connector 资源支持 resourceID 字段,您可以遵循 Google Cloud 资源的命名约定,在 spec.resourceID 字段中为相应的 Google Cloud 资源指定不同的名称。如需了解详情,请参阅使用 resourceID 字段管理资源
命名空间
您在其中创建 Config Connector 资源的命名空间决定了包含 Google Cloud 资源的项目。如需详细了解命名空间,请参阅 Kubernetes 命名空间和 Google Cloud 项目
标签
Config Connector 资源的元数据字段中的标签也会添加到关联的 Google Cloud 资源中。
此外,Config Connector 还将名为 managed-by-cnrm 且值为 true 的系统标签添加到您的 Google Cloud 资源。
注释

Config Connector 可以对 spec 中未定义的资源执行其他操作。这些操作定义在 metadata.annotations 的子字段中。注释值必须是一个字符串。以下各部分介绍了 Config Connector 支持的注释类型。

删除

默认情况下,您从集群中删除对象后,Config Connector 便会删除资源。如果您希望保留资源,请设置 deletion-policy 注释。

指令

使用指令来配置 Config Connector,以便采取除创建或删除资源以外的其他操作。

例如,Cloud Storage 不允许您删除包含对象的 StorageBucket。将 force-destroy 注释应用到存储分区然后删除存储分区,会导致 Config Connector 先删除存储分区中的所有对象,然后再删除存储分区。

例如,在以下 YAML 代码段中声明了 force-destroy 指令。

metadata:
  annotations:
    cnrm.cloud.google.com/force-destroy: "true"

要了解哪些资源支持指令,请参阅资源

文件夹和分层资源

除了管理 Google Cloud 产品中的资源外,Config Connector 还支持在 Google Cloud 的文件夹和组织中创建和管理资源。如需了解详情,请参阅命名空间和项目

使用 RBAC 进行访问权限控制

Kubernetes 基于角色的访问权限控制 (RBAC) 可保护您的资源。您可以通过分配 RBAC 权限来控制对 Google Cloud 资源的创建。如需了解详情,请参阅保护对资源的访问

状态条件

Config Connector 在 status.condition 中将就绪条件用于两个用途:

  • 指示资源何时准备就绪。当资源经过对帐并准备就绪后,其 status.condition.status 将设置为 True。要检查资源何时准备就绪,请参阅等待资源准备就绪
  • 显示其他错误或信息。就绪条件包含 MessageReason 字段,用于提供有关资源状态的其他信息。

活动

Config Connector 资源的重要状态更改将作为 Kubernetes 事件显示。如需了解详情,请参阅查看活动

声明式配置和最终一致性

请参阅协调

后续步骤