Champs ConfigManagement

Cette page décrit les différents champs que vous pouvez définir dans votre objet ConfigManagement. Vous pouvez utiliser cet objet lorsque vous configurez Config Sync à l'aide des commandes kubectl. Vous pouvez également utiliser ces champs si vous gérez Policy Controller avec un objet ConfigManagement au lieu des commandes gcloud de Policy Controller.

Configuration des fonctionnalités Config Sync

Clé Description
spec.enableMultiRepo Si la valeur est true, active les API RootSync et RepoSync. Ces API vous fournissent des fonctionnalités Config Sync supplémentaires, telles que la synchronisation à partir de plusieurs dépôts et la synchronisation des configurations Kustomize et Helm. La valeur par défaut est false.
spec.preventDrift Si la valeur est true, active le webhook d'admission Config Sync pour éviter les écarts en empêchant le transfert des modifications incompatibles vers les clusters opérationnels. La valeur par défaut est false. Config Sync corrige toujours les dérives, quelle que soit la valeur de ce champ.
spec.enableLegacyFields (Shutdown in 1.19.0) Si la valeur est true, permet d'utiliser les champs spec.git obsolètes dans ConfigManagement tout en utilisant le mode multi-dépôt. La définition de ce champ génère automatiquement une ressource RootSync sur le cluster.

Configuration pour Policy Controller

Clé Description
spec.policyController.enabled Si elle est définie sur true, Policy Controller est activé. La valeur par défaut est false.
spec.policyController.templateLibraryInstalled Si elle est définie sur true, une bibliothèque de modèles de contrainte est installée pour les types de règles courants. La valeur par défaut est true.
spec.policyController.referentialRulesEnabled Si la valeur est true, active la prise en charge des contraintes référentielles. Assurez-vous de bien comprendre les mises en garde concernant la cohérence à terme. La valeur par défaut est false.
spec.policyController.auditIntervalSeconds Période en secondes entre les audits consécutifs liés au non-respect des contraintes. Définissez la valeur sur "0" pour désactiver la fonctionnalité d'audit. Valeur par défaut : 60.
spec.policyController.logDeniesEnabled Si la valeur est true, tous les journaux refusent et simulent les échecs. La valeur par défaut est false.
spec.policyController.mutation.enabled Si elle est définie sur true, la compatibilité avec les mutations est activée. La valeur par défaut est false.
spec.policyController.exemptableNamespaces Liste des espaces de noms à supprimer de l'application du webhook d'admission Policy Controller. Les violations sont toujours signalées dans l'audit. La liste est vide par défaut.
spec.policyController.monitoring.backends Liste des backends de surveillance vers lesquels Policy Controller exporte des métriques. Valeur par défaut : [cloudmonitoring, prometheus]

Configuration pour le comportement de l'objet ConfigManagement

Clé Description
spec.clusterName Nom défini par l'utilisateur pour le cluster, utilisé par l'objet ClusterSelectors pour regrouper les clusters. Unique dans une installation Config Sync. Vous ne pouvez pas configurer ce champ dans la console Google Cloud.

Exemple d'objet ConfigManagement

apiVersion: configmanagement.gke.io/v1
kind: ConfigManagement
metadata:
  name: config-management
spec:
  clusterName: my-cluster
  enableMultiRepo: true

Configuration des dépôts Git (obsolète)

Clé Description
spec.git.gcpServiceAccountEmail Compte de service Google Cloud utilisé pour annoter le compte de service Kubernetes du contrôleur RootSync ou RepoSync. Ce champ n'est utilisé que lorsque spec.git.secretType est défini sur gcpserviceaccount.
spec.git.syncRepo URL du dépôt Git à utiliser comme source fiable. Obligatoire.
spec.git.syncBranch Branche du dépôt à partir de laquelle la synchronisation doit être effectuée. Valeur par défaut : master
spec.git.policyDir Chemin d'accès du dépôt Git vers le répertoire racine contenant la configuration que vous souhaitez synchroniser. La valeur par défaut correspond au répertoire racine du dépôt.
spec.git.syncWait Durée entre deux synchronisations consécutives. Valeur par défaut : 15s.
spec.git.syncRev Révision Git (tag ou hachage) à récupérer. La valeur par défaut est HEAD.
spec.git.secretType Type de secret configuré pour l'accès au dépôt Git. Spécifiez l'un des types suivants : ssh, cookiefile, token, gcenode, gcpserviceaccount ou none. Obligatoire.
spec.sourceFormat Format de votre dépôt Git. Il peut s'agit de unstructured ou de hierarchy. Valeur par défaut : hierarchy.

Configuration du proxy pour le dépôt Git

Si les règles de sécurité de votre organisation vous obligent à acheminer le trafic via un proxy HTTP(S), vous pouvez utiliser l'URI du proxy pour configurer Config Sync de manière à communiquer avec votre hôte Git. Le proxy n'est compatible qu'avec les types d'autorisation cookiefile, none ou token.

Clé Description
spec.git.proxy.httpProxy Définit une variable d'environnement HTTP_PROXY permettant d'accéder au dépôt Git.
spec.git.proxy.httpsProxy Définit une variable d'environnement HTTPS_PROXY permettant d'accéder au dépôt Git.

Si les champs httpProxy et httpsProxy sont spécifiés, httpProxy est ignoré.