概览
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、IAM 部分政策、IAMPolicyMember 和 IAM AuditConfig)不需要您提供范围。而是通过 spec.resourceRef
字段将这些资源附加到另一个 Google Cloud 资源。其他 Google Cloud 资源可以是 PubSubTopic
、SpannerInstance
,甚至是项目、文件夹、组织等“范围”,它们本身建模为 Google Cloud 资源。
后续步骤
了解如何应用以下类型的范围: