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 del recurso. 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 en la que deseas crear el recurso. Google Cloud
Si la carpeta Google Cloud también se administra en el mismo clúster a través de la CRD de Folder, puedes especificar la carpeta como una referencia de recursos de Kubernetes:
...
spec:
folderRef:
name: FOLDER_RESOURCE_NAME
namespace: FOLDER_RESOURCE_NAMESPACE
...
Este enfoque permite usar Config Connector y crear una carpeta Google Cloud con sus recursos secundarios en una sola operación de aplicación. El campo de espacio de nombres es opcional si el recurso de carpeta de Config Connector se encuentra en el mismo espacio de nombres de Kubernetes que tu recurso con alcance de carpeta.
Si la carpeta Google Cloud no se administra como un recurso de Kubernetes en el mismo clúster, puedes usar el campo external
para especificar directamente el 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 “folders/FOLDER_ID”. Consulta el siguiente ejemplo de "FOLDER_ID":
...
spec:
folderRef:
external: "FOLDER_ID"
...
Anota la configuración de recursos
Si el recurso de Config Connector tiene un alcance de carpeta, pero no admite el campo folderRef
, puedes establecer el ID de 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 YAML de un recurso con esta anotación:
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
Para establecer un ID de carpeta predeterminado para los recursos recién creados, anota el espacio de nombres de Kubernetes. Si alguno de los recursos del espacio de nombres tiene esta anotación establecida explícitamente en su propia configuración, la anotación a nivel del recurso 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 nombresFOLDER_ID
: Es el Google Cloud ID de la carpeta.
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
: Es el Google Cloud ID de la carpeta.NAMESPACE_NAME
: Es el nombre del espacio de nombres
Después de crear el archivo, aplícalo a tu clúster.