整理资源
概览
Config Connector 可以在项目、文件夹或组织级别范围内创建和管理 Google Cloud 资源。Config Connector 需要确定:
- 是否在项目级、文件夹级或组织级创建资源。
- 要使用的项目、文件夹或组织。
因此,Config Connector 会先检查资源规范中是否有范围定义字段,如果未找到,则检查是否有范围定义注解。大多数 Google Cloud 资源只能在项目级层创建。
成功创建资源后,无论如何设置范围,相应字段或注解都会变为不可变。如需更改资源的范围,您必须删除当前资源,并在其他项目、文件夹或组织范围内创建新资源。
范围定义字段
范围定义资源规范字段是资源规范的一部分,只能在资源配置中设置。它遵循 SCOPERef 的命名惯例。根据资源类型,规范的架构可能包含以下至少一个字段:
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 资源的形式呈现。
后续步骤
了解如何应用以下类型的范围: