Config Connector CRD 简介

Config Connector 包含一系列自定义资源定义 (CRD)。借助每个 CRD,您可以从 Kubernetes 配置 Google Cloud资源。Config Connector 还允许您使用多项 Kubernetes 功能来管理 Google Cloud 资源。

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

Kubernetes 对象和 Config Connector 资源

例如,当您创建 kind: SQLInstance 的 Kubernetes 对象时,Config Connector 会创建 Cloud SQL 实例。本部分介绍 Config Connector 如何扩展对象类型。

规范和状态

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

规范
spec 字段包含定义对象所需状态的所有字段。spec 的子字段是指关联的 Google Cloud 资源。当您更改子字段时, Google Cloud 资源的值最终会与您预期的值保持最终一致性。
可写字段的一个示例是 SQLInstance 资源中的 databaseVersion。
对于具有 spec.labels 的 Config Connector 资源,在 Config Connector 资源的 spec.labels 字段中配置的标签将应用于关联的 Google Cloud 资源。如需了解详情,请参阅管理标签。
状态
status 是只读字段,包含对象的当前状态。Config Connector 会定期读取 Google Cloud资源的相关信息,并更新 status。您可以通过查看 Status.Condition 来检查资源的错误消息或就绪情况。
只读 status 字段的一个示例是 SQLInstance 资源的 connectionName。

对象元数据

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

名称
Config Connector 资源的名称。它应遵循 Kubernetes 对象名称的命名惯例。默认情况下,它用作相应 Google Cloud 资源的名。如果 Config Connector 资源支持 resourceID 字段,您可以为 spec.resourceID 字段中对应的 Google Cloud 资源指定一个遵循 Google Cloud资源命名规范的其他名称。如需了解详情,请参阅使用 resourceID 字段管理资源。
命名空间
您在其中创建 Config Connector 资源的命名空间决定了包含 Google Cloud 资源的项目。如需详细了解命名空间,请参阅 Kubernetes 命名空间和 Google Cloud 项目。
标签
根据资源的不同,Config Connector 资源的 metadata.labels 字段中的标签可以应用于关联的 Google Cloud资源。如需了解详情,请参阅管理标签。
Config Connector 会向支持标签的 Google Cloud 资源添加一个名为 managed-by-cnrm 且值为 true 的系统标签。
注解
Config Connector 可以对 spec 中未定义的资源执行其他操作。这些操作定义在 metadata.annotations 的子字段中。注释值必须是一个字符串。有关 Config Connector 支持的注释类型的说明,请参阅注释。

管理标签

对于支持标签的 Google Cloud 资源,您定义标签的位置取决于 Config Connector 资源是否具有 spec.labels 字段:

  • 具有 spec.labels 字段的资源:您必须在 spec.labels 中管理标签。此字段中的用户指定标签会应用于Google Cloud 资源。
  • 没有 spec.labels 字段的资源:metadata.labels 中的所有标签(包括用户指定的标签和系统标签)都会应用于 Google Cloud 资源。

文件夹和分层资源

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

使用 RBAC 进行访问权限控制

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

状态条件

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

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

活动

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

声明式配置和最终一致性

请参阅协调。

后续步骤