Cette page décrit les différents champs que vous pouvez utiliser pour configurer Config Sync avec l'indicateur --config sur la commande Google Cloud CLI apply et l'indicateur --fleet-default-member-config sur la commande enable dans le canal de publication beta. Ce schéma de champ est désormais déconseillé dans la
piste de publication alpha de la commande enable
au profit du
nouveau schéma d'API
.
Le format du fichier utilisé avec ces indicateurs gcloud CLI est semblable à celui de l'objet ConfigManagement. Cependant, les formats sont différents et les deux ne sont pas interchangeables.
Configuration courante pour Config Management
| Clé | Description |
|---|---|
spec.version |
Version de Config Management. Si vous configurez Config Management pour un cluster, la version par défaut est la version actuelle de l'installation de Config Management sur ce cluster. Sinon, pour une configuration à l'échelle du parc ou en l'absence d'installation existante sur le cluster cible, la valeur par défaut est la dernière version. |
Configuration pour Config Sync
| Clé | Description |
|---|---|
spec.cluster |
Nom du cluster utilisé par l'annotation cluster-name-selector ou ClusterSelector de Config Sync pour appliquer les configurations à un sous-ensemble de clusters uniquement. Définissez ce champ si un nom différent du nom d'appartenance au parc du cluster est utilisé par l'annotation cluster-name-selector de Config Sync ou par ClusterSelector. |
spec.upgrades |
(Aperçu) Paramètre de mise à niveau pour Config Sync.
La valeur par défaut et la seule valeur acceptée est manual.
|
spec.configSync.enabled |
Si la valeur est true, Config Sync est installé et géré.
Si la valeur est false, désinstalle toute instance Config Sync gérée précédemment et ignore le reste de la configuration .spec.configSync.
Obligatoire pour gcloud CLI version 429.0.0 et antérieure. Facultatif pour gcloud CLI version 430.0.0 et ultérieure. 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. Nous vous recommandons d'utiliser le champ spec.configSync.syncRev pour spécifier un nom de branche. Si les deux champs sont utilisés, le champ 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) ou branche à 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. Lorsque vous utilisez un hachage, il doit s'agir d'un hachage complet et non d'une forme 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.stopSyncing |
Si la valeur est true, la synchronisation des configurations pour un seul cluster est arrêtée.
La valeur par défaut est false. |
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 |
Obsolète : si la fédération d'identité de charge de travail pour GKE est activée, le compte de service Google Cloud n'est pas requis pour exporter les métriques Config Sync. Utilisez plutôt un compte de service Kubernetes. |
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. |
spec.configSync.deploymentOverrides |
Liste des configurations de remplacement de ressources pour les déploiements Config Sync.
Ce champ ne s'applique qu'aux déploiements Config Sync avec des conteneurs qui ne sont pas des rapprocheurs racine ou d'espace de noms, tels que reconciler-manager. Si vous devez remplacer un réconciliateur racine ou d'espace de noms, utilisez plutôt les
champs rootsync ou reposync. Facultatif. |
spec.configSync.deploymentOverrides.name |
Nom du déploiement Config Sync à remplacer. Vous devez indiquer une valeur. |
spec.configSync.deploymentOverrides.namespace |
Espace de noms du déploiement Config Sync à remplacer. Vous devez indiquer une valeur. |
spec.configSync.deploymentOverrides.containers |
Liste des configurations de remplacement pour les requêtes et les limites des conteneurs Config Sync. Facultatif. |
spec.configSync.deploymentOverrides.containers.name |
Nom du conteneur Config Sync à remplacer. Vous devez indiquer une valeur. |
spec.configSync.deploymentOverrides.containers.cpuRequest |
Demande de ressources de processeur pour le conteneur. Utilisez les unités de ressources de processeur dans Kubernetes. Facultatif. |
spec.configSync.deploymentOverrides.containers.cpuLimit |
Limite de processeur pour le conteneur. Utilisez les unités de ressources de processeur dans Kubernetes. Facultatif. |
spec.configSync.deploymentOverrides.containers.memoryRequest |
Demande de mémoire pour le conteneur. Utilisez les unités de ressources mémoire dans Kubernetes. Facultatif. |
spec.configSync.deploymentOverrides.containers.memoryLimit |
Limite de mémoire pour le conteneur. Utilisez les unités de ressources mémoire dans Kubernetes. Facultatif. |
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 permettant d'accéder au dépôt Git. Exemple : https://proxy.internal.business.co:443.Le proxy HTTPS n'accepte que les URL https ou les URL simples.
Les URL contenant http:// sont refusées.Si vous utilisez une URL simple, assurez-vous que la communication entre votre serveur proxy et votre hôte Git est sécurisée. |
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
Exemple de spécification d'application gcloud avec remplacement des ressources de déploiement
Si vous souhaitez personnaliser les demandes et les limites de ressources Config Sync, ajoutez le champ deploymentOverrides dans votre spécification d'application. Par exemple, le code YAML suivant remplace les limites de processeur et de mémoire pour le conteneur reconciler-manager :
applySpecVersion: 1
spec:
configSync:
enabled: true
deploymentOverrides:
- name: reconciler-manager
namespace: config-management-system
containers:
- name: reconciler-manager
cpuRequest: 50m
cpuLimit: 100m
memoryRequest: 256Mi
memoryLimit: 512Mi