Recursos en el ámbito de organizaciones


Config Connector puede gestionar tus recursos a nivel de proyecto, carpeta u organización. Para que Config Connector determine dónde crear tus recursos, primero busca un campo que defina el ámbito en la especificación del recurso. Si no lo encuentra, busca una anotación que defina el ámbito.

Especificar el campo organizationRef

La mayoría de los recursos de Config Connector con ámbito de organización admiten un campo denominado organizationRef en su especificación de CRD. Utiliza este campo para especificar la Google Cloud organización en la que quieres crear el recurso.

Puede usar el campo external para especificar el ID de la organización. El formato exacto del valor puede variar en función del tipo de recurso. Los dos formatos más habituales son "ORGANIZATION_ID" y "organizations/ORGANIZATION_ID". A continuación, se muestra un ejemplo de "ORGANIZATION_ID":

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

Anotar la configuración de recursos

Si el recurso de Config Connector tiene ámbito de organización, pero no admite el campo organizationRef, puede definir el ID de la organización en la configuración del recurso mediante la anotación organization-id:

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

A continuación, se muestra un ejemplo de cómo sería el archivo YAML de un recurso con esta anotación:

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

Anotar la configuración del espacio de nombres

Puedes definir un ID de organización predeterminado para los recursos recién creados anotando tu espacio de nombres de Kubernetes. Si alguno de los recursos del espacio de nombres tiene esta anotación definida explícitamente en su propia configuración, la anotación a nivel de recurso sobrescribe la anotación a nivel de espacio de nombres.

Para anotar el espacio de nombres mediante la línea de comandos, ejecuta el siguiente comando:

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

Haz los cambios siguientes:

  • NAMESPACE_NAME: el nombre del espacio de nombres
  • ORGANIZATION_ID: tu Google Cloud ID de organización

También puedes aplicar un manifiesto YAML que contenga la anotación. Copia el siguiente código YAML en un archivo:

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

Haz los cambios siguientes:

  • ORGANIZATION_ID: tu Google Cloud ID de organización
  • NAMESPACE_NAME: el nombre del espacio de nombres

Una vez que haya creado el archivo, aplíquelo a su clúster.