Installer Config Sync

Config Sync permet aux opérateurs de cluster de gérer des ressources Kubernetes à l'aide de fichiers, appelés configurations, stockés dans des dépôts Git. Cette page vous explique comment activer et configurer Config Sync.

Config Sync est disponible pour les utilisateurs d'Anthos et de Google Kubernetes Engine (GKE).

Avant de commencer

Avant d'installer Config Sync, assurez-vous d'avoir préparé votre environnement, vos clusters et vos rôles, et d'avoir activé Anthos Config Management.

Préparer votre environnement local

Pour préparer votre environnement local, effectuez les tâches suivantes :

  1. Créez ou assurez-vous d'avoir accès à un dépôt Git contenant les configurations avec lesquelles Config Sync est synchronisé.
  2. Installez et initialisez le SDK Cloud, qui fournit les commandes gcloud et nomos. Si vous utilisez Cloud Shell, le SDK Cloud est pré-installé.

Configuration requise pour les clusters

Utilisez un cluster qui répond aux exigences suivantes ou créez-en un :

  • Réside sur une plate-forme et une version compatibles d'Anthos.
  • Utilise une version 1.14.x ou ultérieure de Kubernetes.
  • N'est pas d'un cluster Autopilot.
  • Il dispose d'un pool de nœuds utilisant un type de machine avec au moins quatre processeurs virtuels.
  • A Workload Identity activé Workload Identity est la solution recommandée pour accéder aux services Google Cloud à partir des applications s'exécutant dans Google Kubernetes Engine (GKE) en raison de ses propriétés de sécurité renforcée et de sa facilité de gestion.
  • Si vous souhaitez utiliser un cluster GKE privé, Cloud NAT est créé pour autoriser la sortie des nœuds GKE privés. Vous pouvez également activer l'accès privé à Google pour vous connecter à l'ensemble des adresses IP externes utilisées par les API et services Google.

  • Si vous souhaitez utiliser le compte de service Google pour accorder à Config Sync l'accès à votre dépôt Git, les niveaux d'accès pour les nœuds du cluster doivent inclure le niveau d'accès de lecture seule pour Cloud Source Repositories.

    Vous pouvez ajouter ce champ d'application en incluant cloud-source-repos-ro dans la liste -- scopes spécifiée lors la création du cluster ou en utilisant le champ d'application cloud- platform au moment de la création du cluster. Exemple :

    gcloud container clusters create CLUSTER_NAME --scopes=cloud-platform
    

Préparer le cluster

Après avoir créé un cluster approprié, procédez comme suit:

  1. Si vous utilisez Anthos Config Management pour la première fois, activez Anthos Config Management.

  2. Enregistrer un cluster dans un parc. Le parc de votre projet fournit un moyen unifié de visualiser et de gérer vos clusters et leurs charges de travail au sein d'Anthos, y compris les clusters situés en dehors de Google Cloud. Les frais d'Anthos s'appliquent uniquement à vos clusters enregistrés.

Préparer les autorisations

Une fois votre cluster créé, attribuez-vous le rôle Administrateur GKE Hub requis pour Config Sync dans Google Cloud Console : Le rôle Administrateur Hub offre un accès complet à un parc.

Pour attribuer le rôle "Administrateur de hub", procédez comme suit :

Console

  1. Dans Cloud Console, accédez à la page IAM.

    Accédez à la page IAM.

  2. Cliquez sur Ajouter.

  3. Dans le champ Nouveaux membres, saisissez une adresse e-mail. Vous pouvez ajouter des personnes, des comptes de service ou des groupes Google en tant que membres.

  4. Dans la liste déroulante Sélectionner un rôle, recherchez et sélectionnez Administrateur de hub GKE.

  5. Cliquez sur Enregistrer.

gcloud

gcloud projects add-iam-policy-binding PROJECT_ID \
  --member=MEMBER \
  --role=roles/gkehub.admin

Remplacez l'élément suivant :

  • MEMBER : identifiant du membre, généralement au format suivant : member-type :id, par exemple user:my-user@example.com. Pour obtenir la liste complète des valeurs possibles pour member, consultez la documentation de référence sur les liaisons de stratégie.

  • PROJECT_ID : ID de votre projet.

Installer Config Sync

Dans les sections suivantes, vous allez autoriser Config Sync à accéder à votre dépôt. Une fois l'accès accordé, vous configurerez l'installation.

Accorder à Config Sync un accès en lecture seule à Git

Config Sync a besoin d'un accès en lecture seule à votre dépôt Git pour pouvoir lire les configurations validées dans le dépôt et les appliquer à vos clusters.

Si votre dépôt ne nécessite pas d'authentification pour un accès en lecture seule, vous pouvez continuer de configurer Config Sync et utiliser none comme type d'authentification. Par exemple, si vous pouvez parcourir le dépôt à l'aide d'une interface Web sans vous connecter ou que vous pouvez créer un clone du dépôt localement à l'aide de git clone sans fournir d'identifiants ni utiliser d'identifiants enregistrés, vous n'avez pas besoin de vous authentifier. Dans ce cas, vous n'avez pas besoin de créer un secret.

Cependant, la plupart des utilisateurs doivent créer des identifiants, car l'accès en lecture à leur dépôt est limité. Si des identifiants sont nécessaires, ils sont stockés dans le secret git-creds sur chaque cluster inscrit (sauf si vous utilisez un compte de service Google).

Config Sync accepte les mécanismes d'authentification suivants :

  • Paire de clés SSH
  • cookiefile
  • Jeton
  • Compte de service Google (dépôts source Google uniquement)

Le mécanisme choisi dépend des éléments compatibles avec votre dépôt. Si tous les mécanismes sont disponibles, nous vous recommandons d'utiliser une paire de clés SSH. GitHub, Cloud Source Repositories et Bitbucket permettent tous d'utiliser une paire de clés SSH. Si votre organisation héberge votre dépôt et que vous ne savez pas quelles méthodes d'authentification sont compatibles, contactez votre administrateur.

Paire de clés SSH

Une paire de clés SSH se compose de deux fichiers : une clé publique et une clé privée. La clé publique possède généralement une extension .pub.

Pour utiliser une paire de clés SSH, procédez comme suit :

  1. Créez une paire de clés SSH pour permettre à Config Sync de s'authentifier auprès de votre dépôt Git. Cette étape est nécessaire si vous devez vous authentifier auprès du dépôt pour le cloner ou lire ses données. Ignorez cette étape si un administrateur de sécurité vous fournit une paire de clés. Vous pouvez utiliser une seule paire de clés pour tous les clusters ou une paire de clés par cluster, en fonction de vos exigences en matière de sécurité et de conformité.

    La commande suivante crée une clé RSA de 4 096 bits. Les valeurs inférieures ne sont pas recommandées :

    ssh-keygen -t rsa -b 4096 \
    -C "GIT_REPOSITORY_USERNAME" \
    -N '' \
    -f /path/to/KEYPAIR_FILENAME
    

    Remplacez les éléments suivants :

    • GIT_REPOSITORY_USERNAME : nom d'utilisateur avec lequel vous souhaitez que Config Sync s'authentifie auprès du dépôt
    • /path/to/KEYPAIR_FILENAME : chemin d'accès à la paire de clés

    Si vous utilisez un hôte de dépôt Git tiers tel que GitHub ou si vous souhaitez employer un compte de service avec Cloud Source Repositories, nous vous recommandons d'utiliser un compte distinct.

  2. Configurez votre dépôt pour qu'il reconnaisse la clé publique que vous venez de créer. Reportez-vous à la documentation de votre fournisseur d'hébergement Git. Pour plus de commodité, nous incluons les instructions suivantes qui sont propres à certains fournisseurs d'hébergement Git couramment utilisés :

  3. Ajoutez la clé privée à un nouveau secret dans le cluster :

    kubectl create ns config-management-system && \
    kubectl create secret generic git-creds \
     --namespace=config-management-system \
     --from-file=ssh=/path/to/KEYPAIR_PRIVATE_KEY_FILENAME
    

    Remplacez /path/to/KEYPAIR_PRIVATE_KEY_FILENAME par le nom de la clé privée (celle qui ne comporte pas le suffixe .pub).

  4. Supprimez la clé privée du disque local ou protégez-la.

Fichier de cookie

Le processus d'acquisition d'un cookiefile dépend de la configuration de votre dépôt. Pour obtenir un exemple, consultez la section Générer des identifiants statiques dans la documentation de Cloud Source Repositories. Les identifiants sont généralement stockés dans le fichier .gitcookies de votre répertoire d'accueil ou peuvent vous être fournis par un administrateur de sécurité.

Pour utiliser un cookiefile, procédez comme suit :

  1. Après avoir créé et obtenu le cookiefile, ajoutez-le à un nouveau secret dans le cluster.

    kubectl create ns config-management-system && \
    kubectl create secret generic git-creds \
     --namespace=config-management-system \
     --from-file=cookie_file=/path/to/COOKIEFILE
    

    Remplacez /path/to/COOKIEFILE par le chemin d'accès et le nom de fichier appropriés.

  2. Protégez le contenu du cookiefile si vous en avez toujours besoin localement. Dans le cas contraire, supprimez-le.

Jeton

Si votre organisation n'autorise pas l'utilisation de clés SSH, vous pouvez utiliser un jeton. Avec Config Sync, vous pouvez utiliser les jetons d'accès personnels (PAT) de GitHub, les PAT ou clés de déploiement de GitLab, ou encore le mot de passe d'application de Bitbucket comme jeton.

Pour créer un secret à l'aide de votre jeton, procédez comme suit :

  1. Créez un jeton à l'aide de GitHub, GitLab ou Bitbucket :

  2. Après avoir créé et obtenu le jeton, ajoutez-le à un nouveau secret dans le cluster :

    kubectl create ns config-management-system && \
    kubectl create secret generic git-creds \
      --namespace="config-management-system" \
      --from-literal=username=USERNAME \
      --from-literal=token=TOKEN
    

    Remplacez l'élément suivant :

    • USERNAME : nom d'utilisateur que vous souhaitez utiliser
    • TOKEN : jeton que vous avez créé à l'étape précédente
  3. Protégez le jeton si vous en avez toujours besoin en local. Dans le cas contraire, supprimez-le.

Compte de service Google

Si votre dépôt se trouve dans Cloud Source Repositories, vous pouvez autoriser Config Sync à y accéder dans le même projet que votre cluster géré à l'aide d'un compte de service Google.

Pour utiliser un dépôt dans Cloud Source Repositories en tant que dépôt Config Sync, procédez comme suit:

  1. Répertoriez tous les dépôts :

    gcloud source repos list
    
  2. À partir du résultat, copiez l'URL du dépôt que vous souhaitez utiliser : Exemple :

    REPO_NAME  PROJECT_ID  URL
    my-repo    my-project  https://source.developers.google.com/p/my-project/r/my-repo-csr
    
  3. Lorsque vous configurez Config Sync dans la section suivante, ajoutez l'URL à votre configuration. Si vous configurez Config Sync à l'aide de Google Cloud Console, ajoutez la valeur que vous avez copiée dans le champ URL. Si vous configurez Config Sync à l'aide de l'outil de ligne de commande gcloud, ajoutez la valeur que vous avez copiée dans le champ repo de l'objet ConfigManagement.

  4. Lorsque vous configurez Config Sync, sélectionnez le type d'authentification approprié.

    Si vous configurez Config Sync à l'aide de Google Cloud Console, sélectionnez Google Cloud Repository comme type d'authentification lors de la configuration de Config Sync.

    Si vous configurez Config Sync à l'aide de l'outil de ligne de commande gcloud, sélectionnez gcpServiceAccount ou gcenode comme secretType:

    • gcpServiceAccount: si Workload Identity est activé sur votre cluster, ajoutez gcpServiceAccount comme type d'authentification.

      Si nécessaire, créez un compte de service que vous pouvez utiliser lorsque vous configurez Config Sync. Assurez-vous que le compte de service dispose d'un accès en lecture à Cloud Source Repositories en lui attribuant le rôle source.reader.

      Lorsque vous sélectionnez gcpServiceAccount comme méthode d'authentification, vous devez également ajouter un gcpServiceAccountEmail lorsque vous configurez Config Sync. Outre l'ajout du gcpServiceAccountEmail, vous devez créer une liaison de rôle après avoir configuré Config Sync. Pour plus d'informations sur ces étapes, consultez la section Utiliser Cloud Source Repositories avec Workload Identity.

    • gcenode: si Workload Identity n'est pas activé sur votre cluster, ajoutez gcenode pour utiliser le compte de service Compute Engine par défaut. Par défaut, le compte de service Compute Engine par défaut PROJECT_ID-compute@developer.gserviceaccount.com dispose d'un accès source.reader au dépôt du même projet. Toutefois, si Cloud Source Repositories se trouve dans un projet différent de celui de votre cluster, vous devez accorder au compte de service Compute Engine par défaut du projet du cluster, le rôle source.reader dans le projet de Cloud Source Repositories.

      Si nécessaire, vous pouvez ajouter le rôle source.reader` à l'aide de la commande suivante:

      gcloud projects add-iam-policy-binding PROJECT_ID \
        --member serviceAccount:PROJECT_NUMBER-compute@developer.gserviceaccount.com \
        --role roles/source.reader
      

      Remplacez l'élément suivant :

      • PROJECT_ID : ID de projet de votre organisation
      • PROJECT_NUMBER : numéro de projet de votre organisation

      Vous ne pouvez pas modifier les niveaux d'accès après la création d'un pool de nœud. Toutefois, vous pouvez créer un autre pool de nœuds avec le niveau d'accès approprié tout en utilisant le même cluster. Le niveau d'accès par défaut gke-default n'inclut pas cloud-source-repos-ro.

Configurer Config Sync

Google Cloud Console vous guide tout au long du processus d'installation et automatise un grand nombre de ces étapes. Les commandes de la console sont légèrement différentes pour les clients Anthos et GKE. Cliquez sur l'onglet correspondant pour afficher les instructions appropriées.Vous pouvez également utiliser l'outil de ligne de commande gcloud pour terminer l'installation.

Console – Anthos

Avant de continuer, assurez-vous d'avoir enregistré vos clusters dans un parc.

Si vous utilisez Anthos, procédez comme suit pour configurer Config Sync:

  1. Dans Cloud Console, accédez à la page Anthos Config Management.

    Accéder à la page "Anthos Config Management"

  2. Sélectionnez les clusters enregistrés, puis cliquez sur Configurer.

  3. Dans la section Authentification auprès du dépôt Git pour ACM, sélectionnez l'une des options suivantes :

    • Aucune: n'utilise aucune authentification.
    • SSH: utilisez une paire de clés SSH.
    • Cookiefile: utilisez cookiefile.
    • Jeton: utilisez un jeton.
    • Google Cloud Repository: utilisez un compte de service Google pour accéder à Cloud Source Repositories. Ne sélectionnez cette option que si Workload Identity n'est pas activé dans votre cluster.
  4. Si vous ne l'avez pas déjà fait, suivez les instructions dans Google Cloud Console pour accorder à Config Sync un accès en lecture seule à Git.

  5. Cliquez sur Continuer.

  6. Dans la section Paramètres ACM pour vos clusters, procédez comme suit :

    1. Dans le champ Version, sélectionnez la version 1.7.0 ou ultérieure pour Anthos Config Management, qui permet la synchronisation à partir de plusieurs dépôts par défaut.
    2. Cochez la case Activer Config Sync.
      1. Dans le champ URL, saisissez l'URL du dépôt Git à utiliser comme source fiable. Vous pouvez saisir des URL à l'aide du protocole HTTPS ou SSH. Par exemple, https://github.com/GoogleCloudPlatform/anthos-config-management-samples utilise le protocole HTTPS. Si vous ne saisissez pas de protocole, l'URL est traitée comme une URL HTTPS. Ce champ est obligatoire.
      2. Facultatif : dans le champ Branche, saisissez la branche du dépôt à partir de laquelle s'effectue la synchronisation. La branche par défaut est la branche principale (maître).
      3. Facultatif : dans le champ Tag/Commit, saisissez la révision Git (tag ou valeur de hachage) à extraire. La valeur par défaut est HEAD.
      4. Facultatif : dans le champ Répertoire des règles, ajoutez le chemin d'accès au sein du dépôt en haut de la hiérarchie des règles à synchroniser. La valeur par défaut est le répertoire racine du dépôt.
      5. Facultatif : dans le champ Délai entre les synchronisations, saisissez le délai en secondes entre les synchronisations consécutives. La valeur par défaut est de 15 secondes.
      6. Facultatif : dans le champ Proxy Git, saisissez l'URL du proxy HTTPS à utiliser lors de la communication avec le dépôt Git. Ce champ est facultatif et, s'il est vide, aucun proxy n'est utilisé.
      7. Facultatif : dans le champ Format source, choisissez l'option hiérarchie (par défaut) ou non structuré (recommandée). Nous vous recommandons de sélectionner l'option non structuré, car ce format vous permet d'organiser vos configurations comme bon vous semble.
  7. Cliquez sur OK. Vous êtes redirigé vers la page Anthos Config Management. Après quelques minutes, Synced devrait s'afficher dans la colonne d'état à côté des clusters que vous avez configurés. Si vous voyez Error, cliquez sur le mot Error pour plus d'informations.

Console – GKE

Si vous utilisez GKE, configurez Config Sync en procédant comme suit:

Enregistrer vos clusters

Pour utiliser Config Management avec GKE, vous devez d'abord enregistrer les clusters. L'enregistrement de vos clusters leur permet de partager un ensemble commun de configurations et de règles.

Pour enregistrer vos clusters, procédez comme suit:

  1. Dans Cloud Console, accédez à la page Anthos Config Management.

    Accéder à Config Management

    Cette page présente les clusters actuellement enregistrés et configurés, et vous permet de commencer à enregistrer de nouveaux clusters.

  2. Pour démarrer le processus d'enregistrement, cliquez sur Configurer Config Management.

  3. Pour activer l'API Config Management, cliquez sur Suivant.

  4. Sur la page Sélectionner des clusters enregistrés pour Config Management, localisez le tableau Clusters non enregistrés de ce projet, puis recherchez le cluster que vous souhaitez enregistrer.

  5. Cliquez sur Enregistrer en regard du cluster que vous souhaitez enregistrer.

    Une fois le cluster enregistré, il apparaît dans la table Sélectionner des clusters enregistrés pour Config Management.

Installer Config Sync

Une fois que vous avez enregistré vos clusters, vous pouvez continuer à installer et configurer Config Sync.

Pour installer Config Sync, procédez comme suit :

  1. Pour installer Config Sync, sélectionnez les clusters que vous souhaitez configurer, puis cliquez sur Suivant. En sélectionnant plusieurs clusters, vous pouvez appliquer les mêmes configurations aux clusters que vous configurez.
  2. Sur la page Config Sync qui s'affiche, sélectionnez la version d'Anthos Config Management que vous souhaitez utiliser. La valeur par défaut est la version actuelle.
  3. Dans la section Configurations, laissez la case Activer Config Sync cochée.
  4. Dans le champ URL, saisissez l'URL du dépôt Git à utiliser comme source fiable. Vous pouvez saisir des URL utilisant les protocoles HTTPS ou SSH. Par exemple, https://github.com/GoogleCloudPlatform/anthos-config-management-samples utilise le protocole HTTPS. Si vous ne saisissez pas de protocole, l'URL est traitée comme une URL HTTPS.
  5. Dans la liste déroulante Type d'authentification, sélectionnez l'une des options suivantes:

    • Aucune: sans authentification
    • SSH: utilisez une paire de clés SSH.
    • Cookiefile: utilisez cookiefile.
    • Jeton: utilisez un jeton.
    • Google Cloud Repository: utilisez un compte de service Google pour accéder à Cloud Source Repositories. Ne sélectionnez cette option que si Workload Identity n'est pas activé dans votre cluster.
  6. Suivez les instructions dans Google Cloud Console pour accorder à Config Sync un accès en lecture seule à Git, puis cliquez sur Continuer.

  7. Facultatif : dans le champ Branche, saisissez la branche du dépôt à partir de laquelle s'effectue la synchronisation. La branche par défaut est la branche principale.

  8. Facultatif : dans le champ Tag/Commit, saisissez la révision Git (tag ou valeur de hachage) à extraire. La valeur par défaut est HEAD.

  9. Facultatif : dans le champ Répertoire des règles, ajoutez le chemin d'accès au sein du dépôt en haut de la hiérarchie des règles à synchroniser. La valeur par défaut est le répertoire racine du dépôt.

  10. Facultatif : dans le champ Délai entre les synchronisations, saisissez le délai en secondes entre les synchronisations consécutives. La valeur par défaut est de 15 secondes.

  11. Facultatif : dans le champ Proxy Git, saisissez l'URL du proxy HTTPS à utiliser lors de la communication avec le dépôt Git. Ce champ est facultatif et, s'il est vide, aucun proxy n'est utilisé.

  12. Facultatif : dans le champ Format source, choisissez l'option hiérarchie (par défaut) ou non structuré (recommandée). Nous vous recommandons de sélectionner l'option non structuré, car ce format vous permet d'organiser vos configurations comme bon vous semble.

  13. Si vous ne souhaitez pas installer Policy Controller, cliquez sur Suivant et décochez la case **Activer Policy Controller.

  14. Cliquez sur Terminé pour terminer l'installation de Config Sync.

gcloud

Avant de continuer, assurez-vous d'avoir enregistré vos clusters dans un parc.

Si vous utilisez Anthos ou GKE, procédez comme suit pour configurer Config Sync à l'aide de l'outil de ligne de commande gcloud.

  1. Préparez la configuration en créant un nouveau fichier manifeste apply-spec.yaml ou en utilisant un fichier manifeste existant. L'utilisation d'un fichier manifeste existant vous permet de configurer votre cluster avec les mêmes paramètres que ceux utilisés par un autre cluster.

Créer un nouveau fichier manifeste

Pour configurer Config Sync avec des nouveaux paramètres pour votre cluster, créez un fichier nommé apply-spec.yaml et copiez-y le fichier YAML ci-dessous:

# apply-spec.yaml

applySpecVersion: 1
spec:
  configSync:
    # Set to true to install and enable Config Sync
    enabled: true
    sourceFormat: FORMAT
    syncRepo: REPO
    syncBranch: BRANCH
    secretType: TYPE
    gcpServiceAccountEmail: EMAIL
    policyDir: DIRECTORY

Remplacez l'élément suivant :

  • FORMAT : ajoutez unstructured pour utiliser un dépôt non structuré ou hierarchy pour utiliser un dépôt hiérarchique. Ces valeurs sont sensibles à la casse. Ce champ est facultatif et la valeur par défaut est hierarchy. Nous vous recommandons d'ajouter la valeur unstructured, car ce format vous permet d'organiser vos configurations comme bon vous semble.
  • REPO : ajoutez l'URL du dépôt Git à utiliser comme source fiable. Vous pouvez saisir des URL à l'aide du protocole HTTPS ou SSH. Par exemple, https://github.com/GoogleCloudPlatform/anthos-config-management-samples utilise le protocole HTTPS. Si vous ne saisissez pas de protocole, l'URL est traitée comme une URL HTTPS. Ce champ est obligatoire.
  • BRANCH : branche du dépôt à partir de laquelle la synchronisation doit être effectuée. La branche par défaut est la branche principale (maître).
  • TYPE : l'une des options secretTypes suivantes :

    • none: sans authentification
    • ssh : utilise une paire de clés SSH.
    • cookiefile : Utilisez un cookiefile
    • token : utiliser un jeton
    • gcpserviceaccount : utilisez un compte de service Google pour accéder à Cloud Source Repositories.
    • gcenode : utilisez un compte de service Google pour accéder à Cloud Source Repositories. Ne sélectionnez cette option que si Workload Identity n'est pas activé dans votre cluster.

    Pour en savoir plus sur ces types d'authentification, consultez la page Accorder à Config Sync un accès en lecture seule à Git.

  • EMAIL: si vous avez ajouté gcpserviceaccount comme secretType, ajoutez l'adresse e-mail de votre compte de service Google. Par exemple, acm@PROJECT_ID.iam.gserviceaccount.com.

  • DIRECTORY : 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 est le répertoire racine du dépôt.

Pour obtenir la liste complète des champs que vous pouvez ajouter au champ spec, consultez la section Champs gcloud.

Utiliser un fichier manifeste existant

Pour configurer votre cluster avec les mêmes paramètres que ceux utilisés par un autre cluster, récupérez les paramètres d'un cluster enregistré:

 gcloud alpha container hub config-management fetch-for-apply \
     --membership=MEMBERSHIP_NAME \
     --project=PROJECT_ID \
     > CONFIG_YAML_PATH

Remplacez l'élément suivant :

  • MEMBERSHIP_NAME: nom de l'appartenance du cluster enregistré contenant les paramètres Config Sync que vous souhaitez utiliser.
  • PROJECT_ID : ID de votre projet.
  • CONFIG_YAML_PATH : chemin d'accès au fichier apply-spec.yaml.

2. Appliquez le fichier apply-spec.yaml :

  gcloud beta container hub config-management apply \
      --membership=MEMBERSHIP_NAME \
      --config=CONFIG_YAML_PATH \
      --project=PROJECT_ID

Remplacez l'élément suivant :

  • MEMBERSHIP_NAME: nom de l'appartenance que vous avez choisi lors de l'enregistrement de votre cluster, vous pouvez trouver le nom avec gcloud container hub memberships list.
  • CONFIG_YAML_PATH : chemin d'accès à votre fichier apply-spec.yaml
  • PROJECT_ID : ID de votre projet.

Utiliser Cloud Source Repositories avec Workload Identity

Si Workload Identity est activé sur votre cluster et que vous avez utilisé un compte de service Google comme type d'authentification, vous devrez effectuer des étapes supplémentaires.

Après avoir effectué les étapes ci-dessus, créez une liaison de stratégie IAM entre le compte de service Kubernetes et le compte de service Google. Le compte de service Kubernetes n'est créé que lorsque vous configurez Config Sync pour la première fois.

Cette liaison permet au compte de service Config Sync Kubernetes de fonctionner en tant que compte de service Google:

gcloud iam service-accounts add-iam-policy-binding \
   --role roles/iam.workloadIdentityUser \
   --member "serviceAccount:PROJECT_ID.svc.id.goog[config-management-system/root-reconciler]" \
   GSA_NAME@PROJECT_ID.iam.gserviceaccount.com

Remplacez l'élément suivant :

  • PROJECT_ID : ID de projet de votre organisation
  • GSA_NAME: compte de service Google personnalisé que vous souhaitez utiliser pour vous connecter à Cloud Source Repositories. Assurez-vous que le compte de service Google que vous sélectionnez dispose du rôle source.reader.

Vérifier l'installation

Une fois que vous avez installé et configuré Config Sync, vous pouvez vérifier que l'installation s'est bien déroulée.

Console – Anthos

Procédez comme suit :

  1. Dans Cloud Console, accédez à la page Anthos Config Management.

    Accéder à la page "Anthos Config Management"

  2. Affichez la colonne État. Une installation réussie présente l'état synchronisé.

Pour obtenir une vue détaillée de l'état d'un cluster, procédez comme suit :

  • Sélectionnez le cluster que vous souhaitez explorer. La page Détails du cluster s'affiche. Sur cette page, vous pouvez afficher les détails de votre cluster ainsi que les détails de votre installation Config Sync.

Console – GKE

Procédez comme suit :

  1. Dans Cloud Console, accédez à la page Anthos Config Management.

    Accéder à Config Management

  2. Dans le tableau du cluster, affichez la colonne État de Config sync. Une installation réussie présente l'état synchronisé.

gcloud

Exécutez la commande suivante :

gcloud beta container hub config-management status \
    --project=PROJECT_ID

Remplacez PROJECT_ID par l'ID de votre projet.

Une installation réussie présente l'état SYNCED. Si vous rencontrez une erreur après avoir exécuté la commande précédente, assurez-vous d'avoir bien créé le secret git-creds. Si c'est le cas, essayez d'exécuter à nouveau la commande suivante :

gcloud beta container hub config-management apply

Vous pouvez également utiliser la commande nomos status pour vérifier si Config Sync est correctement installé. Une installation valide ne présentant aucun problème affiche l'état PENDING ou SYNCED. Une installation non valide ou incomplète affiche l'état NOT INSTALLED ou NOT CONFIGURED. Le résultat comprend également les erreurs signalées.

Il est possible qu'une configuration non valide ne soit pas détectée immédiatement, par exemple un secret git-creds manquant ou incorrect. Pour connaître les étapes de dépannage, consultez l'article Objet ConfigManagement valide, mais incorrect sur la page de dépannage.

Demandes de ressources

Récapitulatif du nombre total de demandes de ressources

Le tableau suivant répertorie le nombre cumulé de demandes de ressources pour Config Sync, selon les fonctionnalités que vous utilisez.

Caractéristique Processeur Mémoire
Mode par défaut (multi-dépôt) 710 m + 260 m * (nombre d'objets RootSync et RepoSync) 620 Mi + 210 Mi * (nombre d'objets RootSync et RepoSync)
Hierarchy Controller 220 m 220 Mi
Mode de dépôt unique 460 m 310 Mi

Requêtes de ressources détaillées

Le tableau suivant répertorie les exigences concernant les ressources Kubernetes pour les composants de Config Sync. Pour plus d'informations, consultez la section Gérer les ressources pour les conteneurs dans la documentation de Kubernetes.

Nom du déploiement Demande de processeur (m) par instance dupliquée Demande de mémoire (Mi) par instance dupliquée Dépôts uniques ou multiples
git-importer 450 300 Unique
monitor Par défaut1 Par défaut Unique
resource-group-controller-manager 100+par défaut 50+par défaut Multi
admission-webhook2 100 20 Multi
otel-collector 200 400 Multi
reconciler-manager 200 120 Multi
reconciler (un par RootSync et RepoSync) 250+par défaut 200+par défaut Multi
hnc-controller-manager 100+par défaut 150+par défaut Hierarchy Controller
gke-hc-controller-manager 100+par défaut 50+par défaut Hierarchy Controller

1La requête par défaut des ressources utilise une requête de processeur de 10 et une requête mémoire de 10 Mi.

2Le webhook d'admission comporte deux instances dupliquées. Par conséquent, si vous souhaitez calculer le nombre total de requêtes de ressources, vous devez doubler la valeur.

Étape suivante