组织范围的资源
Config Connector 可以在项目、文件夹或组织级别管理您的资源。为了让 Config Connector 确定创建资源的位置,它会首先检查资源规范中是否有范围定义字段(如果找不到),然后检查有无范围定义注解。
指定 organizationRef
字段
大多数组织范围的 Config Connector 资源在其 CRD 规范中支持名为 organizationRef
的字段。请使用此字段指定要在哪个 Google Cloud 组织中创建资源。
您可以使用 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
为命名空间配置添加注释
您可以通过注释 Kubernetes 命名空间,为新创建的资源设置默认组织 ID。如果命名空间中的任何资源在其自己的配置中明确设置了此注解,则资源级注解会覆盖命名空间级注解。
如需使用命令行为命名空间添加注解,请运行以下命令:
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 组织 IDNAMESPACE_NAME
:您的命名空间名称
创建文件后,将其应用到您的集群。