Ressources au niveau de l'organisation

Config Connector peut gérer vos ressources au niveau du projet, du dossier ou de l'organisation. Pour déterminer où créer vos ressources, Config Connector recherche d'abord un champ définissant le champ d'application dans la spécification de votre ressource. S'il n'en trouve pas, il recherche une annotation définissant le champ d'application.

Spécifier le champ organizationRef

La plupart des ressources Config Connector à l'échelle de l'organisation sont compatibles avec un champ nommé organizationRef dans leur spécification CRD. Utilisez ce champ pour spécifier l' Google Cloud dans laquelle vous souhaitez créer la ressource.

Vous pouvez utiliser le champ external pour spécifier l'ID de l'organisation. Le format exact de la valeur peut varier en fonction du type de ressource. Les deux formats les plus courants sont "ORGANIZATION_ID" et "organizations/ORGANIZATION_ID". Voici un exemple de "ORGANIZATION_ID" :

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

Annoter la configuration des ressources

Si la ressource Config Connector est de portée organisationnelle, mais ne prend pas en charge le champ organizationRef, vous pouvez définir l'ID de l'organisation sur la configuration de la ressource à l'aide de l'annotation organization-id :

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

Voici un exemple de ce à quoi ressemblera le fichier YAML d'une ressource avec cette annotation :

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

Annoter la configuration de l'espace de noms

Vous pouvez définir un ID d'organisation par défaut pour les ressources nouvellement créées en annotant votre espace de noms Kubernetes. Si l'une des ressources de l'espace de noms a cette annotation explicitement définie dans sa propre configuration, l'annotation au niveau de la ressource remplace celle au niveau de l'espace de noms.

Pour annoter l'espace de noms à l'aide de la ligne de commande, exécutez la commande suivante :

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

Remplacez les éléments suivants :

  • NAMESPACE_NAME : nom de votre espace de noms
  • ORGANIZATION_ID : ID de votre organisation Google Cloud

Vous pouvez également appliquer un manifeste YAML contenant l'annotation. Copiez le manifeste YAML ci-dessous dans un fichier :

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

Remplacez les éléments suivants :

  • ORGANIZATION_ID : ID de votre organisation Google Cloud
  • NAMESPACE_NAME : nom de votre espace de noms

Après avoir créé le fichier, appliquez-le à votre cluster.