Guide de démarrage rapide : Synchroniser à partir de plusieurs dépôts

Dans ce guide de démarrage rapide, vous allez créer un cluster Google Kubernetes Engine (GKE) et utiliser Config Sync pour synchroniser les configurations dans le dépôt d'exemples Anthos Config Management.

Imaginons que votre équipe de conformité soit chargée de s'assurer que tous les membres de votre organisation respectent les règles internes. Pour appliquer ces règles, l'équipe de conformité a créé des configurations qu'elle a ajoutées au dépôt d'exemples. Tous les clusters de votre organisation doivent être synchronisés avec le dépôt. Vous êtes responsable de la création et de la synchronisation des clusters.

Avant de commencer

  1. Connectez-vous à votre compte Google Cloud. Si vous débutez sur Google Cloud, créez un compte pour évaluer les performances de nos produits en conditions réelles. Les nouveaux clients bénéficient également de 300 $ de crédits gratuits pour exécuter, tester et déployer des charges de travail.

    Dans Google Cloud Console, sur la page de sélection du projet, sélectionnez ou créez un projet Google Cloud.

    Accéder au sélecteur de projet

    Assurez-vous que la facturation est activée pour votre projet Cloud. Découvrez comment vérifier que la facturation est activée pour votre projet.

    Dans Google Cloud Console, sur la page de sélection du projet, sélectionnez ou créez un projet Google Cloud.

    Accéder au sélecteur de projet

    Assurez-vous que la facturation est activée pour votre projet Cloud. Découvrez comment vérifier que la facturation est activée pour votre projet.

Préparer votre environnement

Dans les sections suivantes, vous allez créer et configurer un cluster à utiliser avec Config Sync.

Créer un cluster

Pour créer un cluster que vous pouvez utiliser avec Config Sync, procédez comme suit :

  1. Dans Google Cloud Console, accédez à la page Google Kubernetes Engine.

    Accéder à Google Kubernetes Engine

  2. Cliquez sur Créer.

  3. Dans la section Standard, cliquez sur Configurer.

  4. Dans la section Paramètres de base du cluster, procédez comme suit :

    1. Saisissez cs-cluster comme nom du cluster.
    2. Conservez les valeurs par défaut recommandées dans tous les autres champs.
  5. Dans le menu de gauche, sous Cluster, sélectionnez Sécurité.

  6. Sur la page Sécurité, cochez la case Activer Workload Identity.

  7. Cliquez sur Create (Créer). La création du cluster peut prendre plusieurs minutes.

Obtenir les autorisations d'administrateur

Après avoir créé votre cluster, attribuez-vous le rôle Administrateur GKE Hub requis pour utiliser Config Sync dans Google Cloud Console.

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

    Accéder à IAM

  2. Cliquez sur Ajouter.

  3. Dans le champ Nouveaux comptes principaux, saisissez l'adresse e-mail que vous avez utilisée pour vous inscrire à Google Cloud.

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

  5. Cliquez sur Enregistrer.

Activer Anthos Config Management

Pour activer Anthos Config Management, procédez comme suit :

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

    Accéder à Config Management

  2. Cliquez sur Configurer Config Management.

  3. Pour activer l'API Config Management, cliquez sur Suivant. Après avoir cliqué sur Suivant, vous êtes redirigé vers la page Sélectionner des clusters enregistrés pour Config Management afin d'enregistrer votre cluster.

Enregistrer votre cluster

Une fois le cluster créé, enregistrez-le dans un parc :

  1. Sur la page Sélectionner des clusters enregistrés pour Config Management, recherchez la table Clusters non enregistrés de ce projet, puis recherchez cs-cluster.
  2. À côté de cs-cluster, cliquez sur Enregistrer.

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

Configurer le cluster

Maintenant que vous avez créé un cluster, vous pouvez configurer Config Sync pour qu'il se synchronise avec les configurations du répertoire quickstart du dépôt d'exemples Anthos Config Management.

Pour configurer Config Sync dans Google Cloud Console, procédez comme suit :

  1. Dans le tableau Sélectionner les clusters enregistrés pour Config Management, sélectionnez cs-cluster, puis cliquez sur Suivant.
  2. Sur la page Config Sync qui s'affiche, sélectionnez une version d'Anthos Config Management de 1.7.0 ou ultérieure. Cette version active par défaut la synchronisation à partir de plusieurs dépôts.
  3. Laissez la case Activer Config Sync cochée.
  4. Dans le champ URL, saisissez https://github.com/GoogleCloudPlatform/anthos-config-management-samples.
  5. Dans la liste déroulante Type d'authentification, sélectionnez Aucun.
  6. Dans le champ Branche, saisissez main.
  7. Laissez le champ Tag/Commit vide, car nous utilisons la valeur par défaut de HEAD.
  8. Dans le champ Répertoire des règles, saisissez quickstart/multirepo/root.
  9. Laissez les champs Délai entre les synchronisations et Proxy Git vides, car nous utilisons leurs valeurs par défaut de 15 secondes et HTTPS respectivement.
  10. Dans la liste déroulante Format source, sélectionnez non structuré. Nous vous recommandons d'utiliser le format non structuré, car il vous permet d'organiser vos configurations de la manière la plus adaptée à vos besoins.
  11. Cliquez sur Next (Suivant).
  12. Décochez la case Activer Policy Controller, puis cliquez sur Terminer.

    Vous êtes redirigé vers le menu Config Management. Après quelques minutes, synchronisé doit s'afficher dans la colonne État de Config Sync à côté de cs-cluster.

Maintenant que Config Sync est synchronisé avec un dépôt, il synchronise en permanence l'état de vos clusters avec les configurations du dépôt.

Explorer et tester l'installation de Config Sync

Dans les sections suivantes, vous allez utiliser Cloud Shell pour explorer votre installation de Config Sync, puis essayer de modifier un objet géré.

Ouvrir Cloud Shell

Pour lancer Cloud Shell, exécutez les commandes suivantes :

  1. Accédez à Google Cloud Console.

    Accéder à Google Cloud Console

  2. Dans l'angle supérieur droit de la console, cliquez sur le bouton Activer Cloud Shell :

    Une session Cloud Shell s'ouvre dans un cadre situé en bas de la console. Utilisez cette interface système pour exécuter les commandes gcloud, nomos et kubectl.

  3. Pour utiliser les commandes des sections suivantes, configurez l'accès à la ligne de commande kubectl en exécutant la commande suivante :

    gcloud container clusters get-credentials cs-cluster \
        --zone ZONE \
        --project PROJECT_ID
    

    Remplacez les éléments suivants :

    • ZONE : zone dans laquelle vous avez créé le cluster.
    • PROJECT_ID : ID de votre projet.

    Résultat attendu :

    Fetching cluster endpoint and auth data.
    kubeconfig entry generated for cs-cluster.
    

Examiner le cluster et le dépôt

Le répertoire quickstart inclut ClusterRole, CustomResourceDefinition, configuration de l'opérateur Prometheus pour la surveillance, Rolebinding, Namespace et RepoSync. Ces configurations sont appliquées dès que Config Sync est configuré pour lire les données du dépôt.

Tous les objets gérés par Config Sync possèdent l'étiquette app.kubernetes.io/managed-by définie sur configmanagement.gke.io.

Pour répertorier les espaces de noms gérés par Config Sync, exécutez la commande suivante :

kubectl get ns -l app.kubernetes.io/managed-by=configmanagement.gke.io

Résultat attendu :

NAME         STATUS   AGE
gamestore    Active   58s
monitoring   Active   58s

Vous pouvez accéder au dossier /quickstart/multirepo/ du dépôt Anthos Config Management dans GitHub pour examiner les configurations qui ont entraîné la création de ces espaces de noms.

Vous pouvez examiner d'autres objets de la même manière, tels que ClusterRole, Reposyncs, CRDs et Rolebindings.

Tenter de modifier manuellement un objet géré

Config Sync empêche la mutation des objets gérés via le webhook d'admission.

Si vous tentez d'effectuer une modification incompatible en modifiant manuellement un objet Kubernetes géré par Config Sync, vous recevez un message d'erreur.

Pour tester ce processus, essayez de supprimer l'espace de noms gamestore.

kubectl delete namespace gamestore

Résultat attendu :

error: admission webhook "v1.admission-webhook.configsync.gke.io" denied the request: requester is not authorized to delete managed resources

Effectuer un nettoyage

Si vous souhaitez suivre le tutoriel afin d'écrire des configurations pour Config Sync, n'effectuez pas encore de nettoyage. Ce guide de démarrage rapide est un prérequis pour ce tutoriel, qui inclut également des instructions de nettoyage.

Si vous ne souhaitez pas suivre ce tutoriel, vous pouvez supprimer le cluster que vous avez utilisé pour ce tutoriel :

  1. Accédez au menu GKE dans Cloud Console.

    Accéder à la page GKE

  2. À côté de cs-cluster, cliquez sur  Actions, puis sur  Supprimer.

  3. Lorsque vous êtes invité à confirmer votre choix, cliquez à nouveau sur Supprimer.

Étapes suivantes