Risorse relative alle cartelle

Config Connector può gestire le risorse a livello di progetto, cartella o organizzazione. Affinché Config Connector possa determinare dove creare le risorse, controlla prima un campo che definisce l'ambito nella specifica della risorsa. Se non lo trova, controlla un'annotazione che definisce l'ambito.

Specifica il campo folderRef

La maggior parte delle risorse Config Connector con ambito cartella supporta un campo denominato folderRef nella specifica CRD. Utilizza questo campo per specificare la cartella Google Cloud in cui vuoi creare la risorsa.

Se la cartella Google Cloud viene gestita anche nello stesso cluster tramite la CRD Folder, puoi specificare la cartella come riferimento a una risorsa Kubernetes:

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

Questo approccio consente di utilizzare Config Connector e creare una Google Cloud cartella con le relative risorse secondarie in un'unica operazione di applicazione. Il campo dello spazio dei nomi è facoltativo se la risorsa Config Connector Folder si trova nello stesso spazio dei nomi Kubernetes della risorsa con ambito cartella.

Se la cartella Google Cloud non viene gestita come risorsa Kubernetes nello stesso cluster, puoi utilizzare il campo external per specificare direttamente l'ID cartella. Il formato esatto del valore può variare a seconda del tipo di risorsa. I due formati più comuni sono "FOLDER_ID" e "folders/FOLDER_ID". Di seguito è riportato un esempio di "FOLDER_ID":

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

Annota configurazione delle risorse

Se la risorsa Config Connector è limitata a una cartella, ma non supporta il campo folderRef, puoi impostare l'ID cartella nella configurazione della risorsa utilizzando l'annotazione folder-id:

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

Ecco un esempio di come apparirà il file YAML di una risorsa con questa annotazione:

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

Annotare la configurazione dello spazio dei nomi

Puoi impostare un ID cartella predefinito per le risorse appena create annotando lo spazio dei nomi Kubernetes. Se una delle risorse nello spazio dei nomi ha questa annotazione impostata esplicitamente nella propria configurazione, l'annotazione a livello di risorsa sovrascrive l'annotazione a livello di spazio dei nomi.

Per annotare lo spazio dei nomi utilizzando la riga di comando, esegui questo comando:

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

Sostituisci quanto segue:

  • NAMESPACE_NAME: il nome dello spazio dei nomi
  • FOLDER_ID: il tuo Google Cloud ID cartella

In alternativa, puoi applicare un manifest YAML contenente l'annotazione. Copia il codice YAML riportato di seguito in un file:

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

Sostituisci quanto segue:

  • FOLDER_ID: il tuo Google Cloud ID cartella
  • NAMESPACE_NAME: il nome dello spazio dei nomi

Dopo aver creato il file, applicalo al cluster.