Ce guide de démarrage rapide explique comment utiliser Config Sync pour mettre en œuvre une approche GitOps pour gérer vos clusters Google Kubernetes Engine. Avec un workflow GitOps, vous utilisez un dépôt Git comme source unique d'informations pour les configurations de votre cluster.
En utilisant Config Sync, vous bénéficiez des avantages suivants :
- Appliquer la cohérence : permet de s'assurer que tous vos clusters ont la même configuration, ce qui réduit le risque d'écart de configuration.
- Améliorer la sécurité : gérez et auditez de manière centralisée les configurations de vos clusters, ce qui facilite l'application des règles de sécurité.
- Augmenter la vitesse : automatisez le déploiement des modifications de configuration, ce qui vous permet de déployer les modifications plus rapidement et de manière plus fiable.
Dans ce tutoriel, vous allez créer un cluster GKE et configurer Config Sync pour synchroniser les fichiers de configuration à partir d'un exemple de dépôt. Ce tutoriel vous aidera à comprendre le fonctionnement de Config Sync et vous permettra de l'utiliser pour gérer vos clusters de manière cohérente et automatisée.
Avant de commencer
-
In the Cloud de Confiance console, on the project selector page, select or create a Cloud de Confiance project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Cloud de Confiance project.
-
Assurez-vous de disposer des rôles suivants sur le projet : Administrateur de Kubernetes Engine
Vérifier les rôles
-
Dans la Cloud de Confiance console, accédez à la page IAM.
Accéder à IAM - Sélectionnez le projet.
-
Dans la colonne Compte principal, recherchez toutes les lignes qui vous identifient ou identifient un groupe dont vous faites partie. Pour savoir à quels groupes vous appartenez, contactez votre administrateur.
- Pour toutes les lignes qui vous spécifient ou vous incluent, consultez la colonne Rôle pour vous assurer que la liste inclut les rôles requis.
Attribuer les rôles
-
Dans la Cloud de Confiance console, accédez à la page IAM.
Accéder à IAM - Sélectionnez le projet.
- Cliquez sur Accorder l'accès.
-
Dans le champ Nouveaux comptes principaux, saisissez votre identifiant utilisateur. Il s'agit généralement de l'identifiant associé à un utilisateur dans un pool d'identités de personnel. Pour en savoir plus, consultez Représenter les utilisateurs de pools de personnel dans les stratégies IAM ou contactez votre administrateur.
- Cliquez sur Sélectionner un rôle, puis recherchez le rôle.
- Pour attribuer des rôles supplémentaires, cliquez sur Ajouter un autre rôle et ajoutez tous les rôles supplémentaires.
- Cliquez sur Enregistrer.
-
Créer un cluster
Dans cette section, vous allez créer un cluster que vous pourrez utiliser dans ce tutoriel. Dans la réalité, vous géreriez probablement plusieurs clusters. Pour simplifier ce tutoriel, vous ne créerez et ne gérerez qu'un seul cluster.
Pour créer un cluster, procédez comme suit :
Activez l'API Google Kubernetes Engine.
Dans la Cloud de Confiance console, accédez à la page Kubernetes Engine.
Cliquez sur add_box Créer.
Dans la section Autopilot, sélectionnez Configurer.
Dans la section Informations de base sur le cluster, saisissez
cs-clusterdans le champ Nom. Conservez les valeurs par défaut recommandées dans tous les autres champs.Cliquez sur Créer. Vous êtes redirigé vers la page Clusters Kubernetes. La création du cluster peut prendre plusieurs minutes. Lorsqu'une coche verte apparaît dans la colonne État à côté de votre cluster, cela signifie qu'il est prêt.
Configurer le cluster
Maintenant que vous disposez d'un cluster, vous pouvez configurer Config Sync pour synchroniser les fichiers de configuration à partir d'un dépôt Git.
Pour configurer Config Sync dans la Cloud de Confiance console, procédez comme suit :
- Dans la Cloud de Confiance console, accédez à la page Configuration sous la section Fonctionnalités.
- Cliquez sur add Installer Config Sync.
- Sélectionnez la version de Config Sync que vous souhaitez utiliser.
- Sous Options d'installation, sélectionnez Installer Config Sync sur des clusters individuels.
- Dans le tableau Clusters disponibles , sélectionnez
cs-cluster, puis cliquez sur Installer Config Sync. Dans l'onglet Paramètres, l'état decs-clusterdevrait s'afficher comme Activé après quelques minutes. - Dans le tableau de bord Config Sync, cliquez sur Déployer le package de cluster.
- Dans le tableau Sélectionner des clusters pour le déploiement de packages , sélectionnez
cs-cluster, puis cliquez sur Continuer. - Laissez l'option Package hébergé sur Git, puis cliquez sur Continuer.
- Dans le champ Nom du package, saisissez
sample-repository. - Dans le champ URL du dépôt, saisissez
https://github.com/GoogleCloudPlatform/anthos-config-management-samples. - Dans le champ Chemin d'accès, saisissez
config-sync-quickstart/multirepo/root. - Conservez les valeurs par défaut dans les autres champs.
Cliquez sur Déployer le package.
Après quelques minutes, Synchronisé doit s'afficher dans la colonne État de synchronisation 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.
Afficher les détails du package
Pour afficher les objets gérés par Config Sync, accédez à l'onglet Packages , puis cliquez sur cs-cluster. La page de détails du package fournit une vue d'ensemble de toutes les ressources synchronisées, y compris le type de ressource et l'espace de noms avec lequel la ressource est synchronisée.
(Facultatif) Explorer l'exemple de dépôt
Les configurations appliquées à votre cluster sont définies dans le
/config-sync-quickstart/multirepo/
dépôt. Cet exemple illustre une configuration multirépôt dans laquelle les configurations au niveau de l'administrateur de cluster, représentées par le dépôt root, sont séparées des configurations au niveau de l'espace de noms, représentées par le dépôt namespaces. Dans cet exemple, ces configurations sont divisées en différents dossiers. Dans un scénario réel, vous pouvez stocker des configurations dans deux dépôts différents avec des autorisations d'accès différentes.
En général, les dépôts au niveau du cluster ou les dépôts racines sont gérés par un administrateur central et contiennent des ressources à l'échelle du cluster, des configurations d'espace de noms et des règles. Les dépôts au niveau de l'espace de noms contiennent généralement des configurations spécifiques à des espaces de noms individuels et sont souvent gérés par des équipes d'application.
Voici quelques-uns des principaux types de fichiers que vous pouvez stocker dans un dépôt racine :
- Création d'espaces de noms : les fichiers tels que
namespace-gamestore.yamlcréent les espaces de noms eux-mêmes. - Ressources à l'échelle du cluster : les fichiers qui affectent l'ensemble du cluster incluent des ressources telles que les objets
ClusterRole, qui ajoutent des rôles à l'échelle du cluster qui accordent des autorisations. - Connexion de dépôts d'espaces de noms : le fichier clé de cette configuration multirépôt est le fichier
reposync-gamestore.yaml. Cet objetRepoSyncindique à Config Sync de synchroniser les configurations de l'espace de nomsgamestoreà partir d'un autre chemin d'accès. Dans cet exemple, l'objetRepoSyncpointe vers le répertoireconfig-sync-quickstart/multirepo/ namespaces/gamestoredans le même dépôt, mais dans un scénario réel, vous pouvez pointer vers un autre dépôt Git.
Le dépôt d'espace de noms contient des configurations spécifiques à l'application pour l'espace de noms gamestore. Par exemple, le fichier configmap-inventory.yaml contient des données d'inventaire pour l'application gamestore. Ce type de configuration GitOps permet aux équipes d'application de disposer d'une plus grande autonomie sur leurs propres déploiements et ressources à l'échelle de l'espace de noms sans avoir à modifier le dépôt racine central.
Effectuer un nettoyage
Accédez au menu GKE dans Cloud de Confiance la console.
À côté de
cs-cluster, cliquez sur more_vert Actions, puis sur delete Supprimer.Lorsque vous êtes invité à confirmer votre choix, cliquez à nouveau sur Supprimer.
Étapes suivantes
- Découvrez comment valider des configurations.