组织范围的资源


Config Connector 可以在项目、文件夹或组织级别管理您的资源。为了让 Config Connector 确定在哪里创建 您的资源,它首先会检查是否存在范围定义字段 如果找不到,则检查有无作用域定义注解

指定 organizationRef 字段

大多数组织级范围的 Config Connector 资源都支持名为 organizationRef 的字段 。使用此字段指定 资源项目

您可以使用 external 字段指定组织 ID。确切的 值的格式可能因资源类型而异。最常见的两种格式是“ORGANIZATION_ID”和“organizations/ORGANIZATION_ID”。请参阅下面的“ORGANIZATION_ID”示例:

...
spec:
  organizationRef:
    external: "ORGANIZATION_ID"
...

为资源配置添加注释

如果 Config Connector 资源是组织级范围的,但不支持 organizationRef 字段,您可以使用 organization-id 注解将组织 ID 设置为资源配置:

...
metadata:
  annotations:
    cnrm.cloud.google.com/organization-id: ORGANIZATION_ID
...

以下示例展示了使用此注解后资源的 YAML 格式 中:

apiVersion: foo.cnrm.cloud.google.com/v1beta1
kind: FooBar
metadata:
  annotations:
    cnrm.cloud.google.com/organization-id: ORGANIZATION_ID
  name: foobarname

为命名空间配置添加注释

您可以为新创建的资源设置默认组织 ID,方法是为 Kubernetes 命名空间添加注释。如果命名空间中的任何资源在其自己的配置中明确设置了此注解,则资源级注解会覆盖命名空间级注解。

如需使用命令行对命名空间添加注解,请运行以下命令:

kubectl annotate namespace NAMESPACE_NAME cnrm.cloud.google.com/organization-id=ORGANIZATION_ID

替换以下内容:

  • NAMESPACE_NAME:您的命名空间名称
  • ORGANIZATION_ID:您的 Google Cloud 组织 ID

或者,您也可以应用包含注解的 YAML 清单。 将下面的 YAML 复制到文件中:

apiVersion: v1
kind: Namespace
metadata:
  annotations:
    cnrm.cloud.google.com/organization-id: ORGANIZATION_ID
  name: NAMESPACE_NAME

替换以下内容:

  • ORGANIZATION_ID:您的 Google Cloud 组织 ID
  • NAMESPACE_NAME:您的命名空间名称

创建该文件后,将其应用于您的集群。