Champs spécifiques de la commande d'application de gcloud

Cette page décrit les différents champs que vous pouvez définir dans le fichier de configuration pour Config Sync. Vous utilisez ce fichier lorsque vous configurez des composants de Config Sync à l'aide de la Google Cloud CLI. La commande de gcloud CLI qui vous permet d'appliquer le fichier de configuration contient également une documentation de référence.

Ces commandes permettent également de configurer Policy Controller, mais nous vous recommandons d'utiliser plutôt les commandes Policy Controller gcloud.

Le format du fichier utilisé avec gcloud CLI est semblable à celui de l'objet ConfigManagement. Cependant, les formats sont différents et les deux ne sont pas interchangeables.

Configuration pour Config Sync

Clé Description
spec.upgrades (Preview) Paramètre de mise à niveau pour Config Sync. Si elle est définie sur auto, la version de Config Sync est mise à niveau automatiquement. Pour en savoir plus sur le fonctionnement des mises à niveau automatiques, consultez la page Mettre à niveau Config Sync. Définissez la valeur sur manual pour mettre à niveau manuellement la version de Config Sync. La valeur par défaut est manual. Cette option n'est disponible que pour les clusters GKE sur Google Cloud.
spec.configSync.enabled Si la valeur est true, active Config Sync. Si la valeur est false, désactive Config Sync. Obligatoire pour la gcloud CLI 429.0.0 et versions antérieures. Facultatif pour la gcloud CLI 430.0.0 et versions ultérieures. Valeur par défaut : true
spec.configSync.sourceType Type de source à partir duquel Config Sync doit être synchronisé. Accepte git ou oci. Valeur par défaut : git
spec.configSync.syncRepo URL du dépôt Git, de l'image OCI ou du chart Helm à utiliser comme source fiable. Vous pouvez omettre ce champ si vous n'avez pas préparé de dépôt.
spec.configSync.syncBranch Branche du dépôt Git à partir de laquelle la synchronisation doit être effectuée. Ce champ est ignoré si .spec.configSync.sourceType est défini sur oci. Ce champ est facultatif, et la valeur par défaut est master. À partir de la version 1.17.0 de Config Sync, il est recommandé d'utiliser le champ spec.configSync.syncRev pour spécifier un nom de branche par souci de simplicité. Si les champs spec.configSync.syncRev et spec.configSync.syncBranch sont tous les deux spécifiés, spec.configSync.syncRev est prioritaire sur spec.configSync.syncBranch.
spec.configSync.policyDir Chemin d'accès dans le dépôt Git ou dans l'image OCI au répertoire racine contenant la configuration que vous souhaitez synchroniser. Valeur par défaut : répertoire racine du dépôt
spec.configSync.syncWait Période en secondes entre des synchronisations consécutives. La valeur par défaut est 15.
spec.configSync.syncRev Révision Git (tag ou hachage) à partir de laquelle la synchronisation doit être effectuée. Ce champ est ignoré si .spec.configSync.sourceType est défini sur oci. Ce champ est facultatif, et la valeur par défaut est HEAD. À partir de la version 1.17.0 de Config Sync, vous pouvez également spécifier un nom de branche dans le champ spec.configSync.syncRev. Lorsque vous utilisez un hachage dans la version 1.17.0 ou ultérieure, il doit s'agir d'un hachage complet et non d'une version abrégée.
spec.configSync.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. Valeurs par défaut : false. Config Sync corrige toujours les dérives, quelle que soit la valeur de ce champ.
spec.configSync.secretType Type de Secret configuré pour l'accès à .spec.configSync.syncRepo. Si vous avez sélectionné git comme type de source, la valeur doit être ssh, cookiefile, gcenode, gcpserviceaccount, token ou none. Si vous avez sélectionné oci comme type de source, la valeur doit être gcenode, gcpserviceaccount ou none. La validation de ce champ est sensible à la casse. Obligatoire.
spec.configSync.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.configSync.secretType est défini sur gcpserviceaccount.
spec.configSync.metricsGcpServiceAccountEmail Adresse e-mail du compte de service Google Cloud (GSA) utilisé pour exporter les métriques Config Sync vers Cloud Monitoring. Le système Google Search Appliance doit disposer du rôle IAM "Rédacteur de métriques de surveillance" (roles/monitoring.metricWriter). Le ServiceAccount Kubernetes default dans l'espace de noms config-management-monitoring doit être lié au système Google Search Appliance.
spec.configSync.sourceFormat Si vous définissez ce paramètre sur unstructured, vous configurez un dépôt non hiérarchique. 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 HTTPS, 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.configSync.httpsProxy Définit une variable d'environnement HTTPS_PROXY utilisée pour accéder au dépôt Git. Exemple : https://proxy.internal.business.co:443.
Le proxy HTTPS n'accepte que les URL https ou non ordonnées. Les URL contenant http:// sont refusées.
Si vous utilisez une URL simple, assurez-vous que la communication entre votre serveur proxy et l'hôte Git est sécurisée.

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.mutationEnabled Si la valeur est true, active la compatibilité avec les mutations. 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 Hierarchy Controller

Clé Description
spec.hierarchyController.enabled Si elle est définie sur true, Hierarchy Controller est activé. La valeur par défaut est false.
spec.hierarchyController.enableHierarchicalResourceQuota Si elle est définie sur true, les quotas de ressources hiérarchiques sont activés. La valeur par défaut est false.
spec.hierarchyController.enablePodTreeLabels Si la valeur est true, active l'observation hiérarchique des charges de travail. La valeur par défaut est false.

Exemple spécifique de la commande d'application de gcloud

applySpecVersion: 1
spec:
  configSync:
    enabled: true
    sourceFormat: unstructured
    syncRepo: https://github.com/GoogleCloudPlatform/anthos-config-management-samples
    syncBranch: main
    secretType: none
    policyDir: config-sync-quickstart/multirepo/root
  hierarchyController:
    enabled: false