Cette page explique comment configurer Config Sync à l'aide des kubectl commandes
après avoir
installé Config Sync à l'aide de la Google Cloud console 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 des 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 Google Cloud console ou
Google Cloud CLI, Config Sync crée automatiquement un objet RootSync appelé
root-sync. Cet objet contient les informations de configuration les plus récentes pour Config Sync. Chaque fois que vous effectuez une modification dans la Google Cloud console ou
Google Cloud CLI, root-sync est mis à jour.
En savoir plus sur les champs que vous pouvez modifier à l'aide de kubectl
Vous pouvez apporter des modifications avancées à root-sync à l'aide des commandes kubectl pour les champs non disponibles dans la Google Cloud console ou Google Cloud CLI. Si vous souhaitez
créer, puis mettre à jour des objets RootSync ou RepoSync directement à l'aide des kubectl
commandes, consultez les
champs RootSync et RepoSync.
Avant d'apporter des modifications au fichier YAML que vous créez dans la section suivante, familiarisez-vous avec le tableau suivant. Ce tableau répertorie les champs que vous pouvez modifier et ajouter. Si vous modifiez des champs non répertoriés dans ce tableau, Config Sync rétablit automatiquement les modifications que vous avez définies lorsque vous avez configuré Config Sync pour la dernière fois dans la Google Cloud console ou Google Cloud CLI.
| Clé | Description |
|---|---|
spec.helm |
Tous les champs pour la configuration du dépôt Helm. |
spec.override |
Tous les champs pour remplacer les configurations par défaut. |
spec.git.noSSLVerify |
Indique s'il faut activer ou désactiver la validation du certificat SSL pour Git. La valeur par défaut est false.
|
spec.git.caCertSecretRef.name |
Nom du secret contenant le certificat de l'autorité de certification pour un dépôt Git. |
spec.oci.caCertSecretRef.name |
Nom du secret contenant le certificat de l'autorité de certification pour un dépôt OCI. |
Créer le fichier
Pour créer et modifier un fichier de configuration pour root-sync, procédez comme suit :
Pour vous assurer de récupérer 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_IDRemplacez les éléments suivants :
CLUSTER_NAME: nom du cluster contenant la configuration Config Sync que vous souhaitez modifier.ZONE: 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.yamlRemplacez
FILE_NAMEpar le nom que vous souhaitez donner à votre configuration.Ouvrez le fichier YAML que vous avez créé et apportez les modifications de configuration requises. Par exemple, pour ignorer 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 omittedAppliquez les modifications au fichier YAML :
kubectl apply -f FILE_NAME.yamlPour vérifier que Config Sync a appliqué vos modifications, affichez l'objet RootSync :
kubectl describe rootsync root-sync -n config-management-systemPour vérifier que vos modifications n'ont pas introduit d'erreurs, utilisez la
nomos statuscommande :nomos status
Configurer l'autorité de certification
Pour les serveurs configurés avec des certificats d'une autorité de certification qui n'est pas encore approuvée, Config Sync peut être configuré pour utiliser un certificat d'autorité de certification afin de valider les connexions HTTPS au serveur. Cette fonctionnalité est compatible avec les serveurs Git, Helm ou OCI. Le certificat de l'autorité de certification doit inclure des certificats SSL complets (racine/intermédiaire/feuille).
Si votre serveur utilise déjà une autorité de certification approuvée ou si vous ne vous connectez pas via HTTPS, vous pouvez ignorer cette étape et laisser caCertSecretRef non défini.
RootSync
Récupérer le certificat de l'autorité de certification qui a été utilisé pour émettre le certificat de votre serveur Git et l'enregistrer dans un fichier.
Pour les objets
RootSync, le secret doit être créé dans l'espace de nomsconfig-management-system. Exemple :kubectl create secret generic ROOT_CA_CERT_SECRET_NAME
--namespace=config-management-system
--from-file=cert=/path/to/CA_CERT_FILELorsque vous configurez l'objet
RootSync, définissez la valeur du champcaCertSecretRef.namedans l'objetRootSyncsur ROOT_CA_CERT_SECRET_NAME.
RepoSync
Récupérer le certificat de l'autorité de certification qui a été utilisé pour émettre le certificat de votre serveur Git et l'enregistrer dans un fichier.
Pour les objets
RepoSync, le secret doit être créé dans le même espace de noms que l'objet RepoSync. Exemple :kubectl create secret generic NAMESPACE_CA_CERT_SECRET_NAME
--namespace=REPO_SYNC_NAMESPACE
--from-file=cert=/path/to/CA_CERT_FILELorsque vous configurez l'
RepoSync, définissez la valeur du champcaCertSecretRef.namedans l'RepoSyncobjet sur NAMESPACE_CA_CERT_SECRET_NAME.
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. 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-les à partir d'un répertoire Git vide.
Étapes suivantes
- En savoir plus sur les champs RootSync et RepoSync.
- Découvrez comment surveiller vos objets RootSync et RepoSync.