整理资源
概览
Config Connector 可以在项目级、文件夹级或组织级范围创建和管理 Google Cloud 资源。Config Connector 需要确定:
- 是在项目级、文件夹级还是组织级创建资源。
- 要使用哪个项目、文件夹或组织。
因此,Config Connector 会先检查资源规范中是否存在范围定义字段(如果未找到),然后再检查有无范围定义注解。大多数 Google Cloud 资源只能在项目级创建。
成功创建资源后,无论如何设置范围,字段或注解都会不可变。如需更改资源的范围,您必须删除当前资源,然后在其他项目、文件夹或组织范围内创建新资源。
范围定义字段
用于定义范围的资源规范字段是资源规范的一部分,只能在资源配置中设置。它遵循 SCOPE 参考的命名惯例。根据资源类型,规范的架构可能包含以下至少一个字段:
projectRef
folderRef
organizationRef
作用域定义注解
您可以在资源的配置或包含资源的 Kubernetes 命名空间中定义范围定义注解。根据资源类型,有三种类型的作用域注解注解:
cnrm.cloud.google.com/project-id
cnrm.cloud.google.com/folder-id
cnrm.cloud.google.com/organization-id
大多数 Config Connector 资源都支持范围定义字段。我们建议使用字段,而不是定义作用域的注解,因为定义作用域的字段会使资源规范更加独立,并支持一步创建范围及其包含的资源。对于不支持范围定义字段的资源,您可以在其配置中提供范围定义注释,或者通过为命名空间添加注解来为特定命名空间中的所有资源默认使用该注释。如果资源配置中直接包含作用域定义注解,系统将忽略命名空间注解。
例外情况
如果范围概念不适用于 Config Connector 资源,则您无需指定项目、文件夹或组织范围。 具体而言,如果资源参考页面中所列的某项资源没有定义范围的字段或定义范围的注解,那么您无需添加范围。
某些资源(如 BillingBudgetsBudget)与 Google Cloud 结算账号绑定,所以需要您改为指定结算账号信息。
IAM 资源(包括 IAMPolicy、IAMPartialPolicy、IAMPolicyMember 和 IAMAuditConfig)不需要您提供范围。相反,这些资源通过 spec.resourceRef
字段附加到另一个 Google Cloud 资源。这一其他 Google Cloud 资源可以是 PubSubTopic
、SpannerInstance
,甚至是项目、文件夹、组织等“范围”,它们本身建模为 Google Cloud 资源。
后续步骤
了解如何应用以下类型的范围: