Configurer Config Sync avec les commandes kubectl
Cette page explique comment configurer Config Sync à l'aide des commandes kubectl
après avoir installé Config Sync à l'aide de la console Google Cloud ou de Google Cloud CLI.
Bien que vous puissiez apporter de nombreuses modifications de configuration à l'aide de la console ou de la CLI, vous devez utiliser les commandes kubectl
pour remplacer certaines valeurs par défaut de Config Sync, contrôler la validation des certificats SSL et utiliser une autorité de certification.
Créer et modifier le fichier de configuration RootSync
Pour configurer Config Sync à l'aide des commandes kubectl
, vous devez modifier un objet RootSync en créant un fichier YAML.
Lorsque vous installez Config Sync à l'aide de la console Google Cloud ou de Google Cloud CLI, Config Sync crée automatiquement un objet RootSync nommé root-sync
. Cet objet contient les informations de configuration les plus récentes pour Config Sync. Chaque fois que vous apportez une modification dans Google Cloud Console ou dans Google Cloud CLI, root-sync
est mis à jour.
En savoir plus sur les champs que vous pouvez modifier avec kubectl
Vous pouvez apporter des modifications avancées à root-sync
à l'aide des commandes kubectl
pour les champs non compatibles avec Google Cloud Console ou Google Cloud CLI. Si vous souhaitez créer, puis mettre à jour des objets RootSync ou RepoSync directement à l'aide des commandes kubectl
, consultez la section Champs RootSync et RepoSync.
Avant de modifier le fichier YAML que vous créez dans la section suivante, familiarisez-vous avec le tableau suivant. Ce tableau liste les champs que vous pouvez modifier et ajouter. Si vous modifiez des champs non listés dans ce tableau, Config Sync rétablit automatiquement les valeurs que vous avez définies lors de votre dernière configuration de Config Sync dans Google Cloud Console ou Google Cloud CLI.
Clé | Description |
---|---|
spec.git.noSSLVerify |
noSSLVerify spécifie si la validation du certificat SSL doit être activée ou désactivée. Valeur par défaut : false .Si noSSLVerify est défini sur true , il indique à Git d'ignorer la validation du certificat SSL. |
spec.git.caCertSecretRef.name |
Nom du secret contenant le certificat CA (autorité de certification). Si ce champ est fourni, le serveur Git doit utiliser un certificat émis par cette autorité de certification. Le certificat CA doit être stocké dans le secret sous une clé nommée "cert". |
spec.override.resources |
Liste des demandes de ressources de conteneurs et des remplacements de limites. Facultatif. Chaque élément de la liste contient trois champs :
Lorsqu'aucune valeur de remplacement n'est fournie pour une requête ou une limite de ressources, la valeur de ressource par défaut pour la requête ou la limite est utilisée. |
spec.override.gitSyncDepth |
gitSyncDepth vous permet d'ignorer le nombre de commits Git à récupérer.Ne doit pas être inférieur à zéro. Config Sync effectue un clone complet si ce champ présente la valeur 0, et un clone superficiel s'il est supérieur à 0. Si ce champ n'est pas fourni, Config Sync le configure automatiquement. |
spec.override.statusMode |
statusMode vous permet d'activer ou de désactiver la capture de l'état au niveau des ressources.La valeur par défaut est enabled .Pour désactiver la capture de l'état au niveau des ressources, définissez ce champ sur disabled .
|
spec.override.reconcileTimeout |
reconcileTimeout vous permet d'ignorer le seuil du délai d'attente des ressources d'un groupe d'application de rapprochement avant d'abandonner. Toutes les ressources d'un commit peuvent se trouver dans plusieurs groupes d'applications en fonction des dépendances.Le délai avant expiration par défaut est 5m .Utilisez une chaîne pour spécifier cette valeur de champ, par exemple 30s , 5m .
|
spec.override.enableShellInRendering |
enableShellInRendering spécifie si l'accès à l'interface système doit être activé ou désactivé au cours du processus de rendu. Les bases distantes Kustomize nécessitent un accès à l'interface système. La définition de ce champ sur true active l'accès à l'interface système dans le processus de rendu et permet d'extraire des bases distantes à partir de dépôts publics.La valeur par défaut est false . |
Créer le fichier
Pour créer et modifier un fichier de configuration pour root-sync
, procédez comme suit:
Pour vous assurer que vous récupérez les informations de configuration du cluster approprié, configurez l'accès à la ligne de commande
kubectl
:gcloud container clusters get-credentials CLUSTER_NAME \ --zone ZONE \ --project PROJECT_ID
Remplacez les éléments suivants :
CLUSTER_NAME
: nom du cluster contenant la configuration Config Sync que vous souhaitez modifierZONE
: zone dans laquelle vous avez créé le cluster.PROJECT_ID
: ID de votre projet.
Copiez les informations de configuration de l'objet RootSync créé par Config Sync dans un fichier YAML:
kubectl get rootsync root-sync -n config-management-system -o yaml > FILE_NAME.yaml
Remplacez
FILE_NAME
par le nom de votre fichier de configuration.Ouvrez le fichier YAML que vous avez créé et apportez les modifications de configuration requises. Par exemple, pour remplacer la limite de mémoire du conteneur
git-sync
, ajoutez les champs suivants en gras:apiVersion: v1 items: - apiVersion: configsync.gke.io/v1beta1 kind: RootSync metadata: annotations: configmanagement.gke.io/managed-by-hub: "true" configmanagement.gke.io/update-time: "1644945169" creationTimestamp: "2022-02-15T17:12:52Z" generation: 1 name: root-sync namespace: config-management-system resourceVersion: "211980457" uid: aa30a94b-2825-4590-ad30-5af848403502 spec: git: auth: none branch: main dir: /quickstart/config-sync period: 15s repo: https://github.com/GoogleCloudPlatform/anthos-config-management-samples revision: HEAD secretRef: {} override: resources: - containerName: "git-sync" memoryLimit: "400Mi" sourceFormat: unstructured # Remainder of RootSync omitted
Appliquez les modifications au fichier YAML:
kubectl apply -f FILE_NAME.yaml
Pour vérifier que Config Sync a bien appliqué vos modifications, affichez l'objet RootSync:
kubectl describe rootsync root-sync -n config-management-system
Pour vérifier que vos modifications n'ont introduit aucune erreur, utilisez la commande
nomos status
:nomos status
Supprimer l'objet RootSync
Pour supprimer root-sync
, exécutez la commande suivante:
kubectl delete -f FILE_NAME
Remplacez FILE_NAME
par le nom de votre fichier de configuration RootSync. Par exemple, root-sync.yaml
.
La suppression d'un objet RootSync ou RepoSync ne nettoie pas les annotations et les libellés Config Sync. Pour nettoyer les ressources gérées, synchronisez un répertoire Git vide.
Étapes suivantes
- En savoir plus sur les champs RootSync et RepoSync
- Découvrez comment surveiller les objets RootSync et RepoSync.