Recursos al nivel de la carpeta


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

Especifica el campo folderRef

La mayoría de los recursos de Config Connector con alcance de carpeta admiten un campo llamado folderRef en su especificación de CRD. Usa este campo para especificar la carpeta de Google Cloud quieres crear el recurso.

Si la carpeta de Google Cloud también se administra en el mismo clúster mediante haz clic en Folder CRD, puedes especificar la carpeta como una referencia de recurso de Kubernetes:

...
spec:
  folderRef:
    name: FOLDER_RESOURCE_NAME
    namespace: FOLDER_RESOURCE_NAMESPACE
...

Este enfoque permite usar Config Connector y crear Google Cloud con sus recursos secundarios en una única operación de aplicación. El campo de espacio de nombres es opcional si el recurso de la carpeta de Config Connector se encuentra en el mismo espacio de nombres de Kubernetes que tu recurso con permiso de carpeta.

Si la carpeta de Google Cloud no se administra como un recurso de Kubernetes en el mismo clúster, puedes usar el campo external para especificar directamente ID de la carpeta. El formato exacto del valor puede ser diferente según el tipo de recurso. Los dos formatos más comunes son "FOLDER_ID" y “carpetas/FOLDER_ID”. Consulta un ejemplo de “FOLDER_ID” a continuación:

...
spec:
  folderRef:
    external: "FOLDER_ID"
...

Anota la configuración de recursos

Si el recurso de Config Connector tiene alcance de carpeta, pero no admite el folderRef, puedes establecer el ID de la carpeta en la configuración del recurso con la anotación folder-id:

...
metadata:
  annotations:
    cnrm.cloud.google.com/folder-id: FOLDER_ID
...

Este es un ejemplo de cómo se verá el archivo YAML de un recurso con esta anotación incluye:

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

Anota la configuración de espacio de nombres

Puedes establecer un ID de carpeta predeterminado para los recursos recién creados. Para ello, haz lo siguiente: anotando el espacio de nombres de Kubernetes. Si alguno de los recursos en el espacio de nombres establecer explícitamente esta anotación en su propia configuración, el rango reemplaza la anotación a nivel del espacio de nombres.

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

kubectl annotate namespace NAMESPACE_NAME cnrm.cloud.google.com/folder-id=FOLDER_ID

Reemplaza lo siguiente:

  • NAMESPACE_NAME: Es el nombre del espacio de nombres
  • FOLDER_ID: El ID de tu carpeta de Google Cloud

Como alternativa, puedes aplicar un manifiesto de YAML que contenga la anotación. Copia el YAML a continuación en un archivo:

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

Reemplaza lo siguiente:

  • FOLDER_ID: El ID de tu carpeta de Google Cloud
  • NAMESPACE_NAME: Es el nombre del espacio de nombres

Después de crear el archivo, aplícalo a tu clúster.