Présentation d'Anthos Config Management

Anthos Config Management permet aux opérateurs de cluster de gérer des clusters uniques, des clusters mutualisés et des déploiements multiclusters Kubernetes à l'aide de fichiers, appelés configurations, qui sont stockés dans un dépôt Git.

Certaines configurations sont des fichiers manifestes d'objets Kubernetes. D'autres ne correspondent pas à des fichiers manifestes d'objets, mais fournissent les informations nécessaires à Anthos Config Management. Vous pouvez écrire des configurations au format YAML ou JSON. Anthos Config Management recherche les mises à jour de ces fichiers et applique automatiquement les modifications à tous les clusters pertinents.

L'approche consistant à traiter la configuration comme du code vous permet de gérer la configuration de vos clusters Google Kubernetes Engine ou Anthos GKE On-Prem en suivant les principes que vous utilisez déjà pour gérer vos applications déployées dans Kubernetes. Avec Anthos Config Management, vous pouvez effectuer les opérations suivantes :

  • Exiger que le code soit vérifié avant que les modifications ne soient envoyées à l'environnement réel et contrôler précisément quel commit a engendré une modification de configuration.
  • Limiter le risque d'opérations cachées entraînant l'envoi de modifications non validées aux clusters opérationnels et rendant difficile l'identification des différences entre la configuration documentée et votre environnement réel. Vous pouvez exiger que toutes les modifications de configuration du cluster soient propagées à l'aide d'Anthos Config Management et verrouiller l'accès direct à l'API Kubernetes.
  • Appliquer les modifications de configuration à des centaines de clusters avec un seul commit Git, au lieu d'écrire des scripts pour exécuter manuellement des milliers de commandes kubectl apply.
  • Vous assurer qu'une modification est envoyée à tous les clusters appropriés, et uniquement à ces derniers, en fonction des métadonnées appliquées à chaque cluster.
  • Utiliser les pipelines d'intégration continue ou de déploiement continu (CI/CD) pour tester vos modifications et les appliquer automatiquement lorsque les tests réussissent.
  • Utiliser une stratégie d'investigation par retour en arrière consistant à effectuer un rollback des modifications destructives et à rétablir le bon fonctionnement des clusters opérationnels avant de corriger la modification problématique et de l'appliquer dans le cadre d'un nouveau commit. Cette stratégie limite les temps d'arrêt engendrés par les défaillances liées aux configurations.

Anthos Config Management synchronise les états de vos clusters avec votre dépôt Git. Le contrôleur personnalisé de Config Management Operator surveille votre dépôt Git et les états de vos clusters, en veillant à ce qu'ils demeurent cohérents pour chaque objet Kubernetes que vous choisissez. Si l'opérateur ne parvient pas à appliquer les modifications à une ressource, celle-ci reste dans le dernier état correct connu.

Anthos Config Management peut configurer un seul cluster ou plusieurs clusters à partir d'un même dépôt Git.

Prérequis

Anthos Config Management requiert des droits d'accès actifs à Anthos. Pour plus d'informations sur les tarifs, contactez le service commercial.

Anthos Config Management utilise des espaces de noms, des libellés et des annotations qui constituent des éléments essentiels de son implémentation. Avant de commencer, il est utile de bien comprendre ces concepts.

Pour pouvoir créer une configuration, vous devez connaître les champs obligatoires et facultatifs qui sont autorisés pour cet objet Kubernetes.

En outre, Anthos Config Management introduit de nouveaux termes et concepts. Ceux-ci sont décrits brièvement dans la section suivante, qui contient également des liens vers plus d'informations sur chaque concept.

Nouveaux concepts

Les nouveaux concepts ci-dessous représentent des éléments essentiels d'Anthos Config Management.

Config

Une configuration est une déclaration de configuration Kubernetes, écrite au format YAML ou JSON. Anthos Config Management la lit et l'applique à un ou plusieurs clusters pour créer ou configurer un objet ou une ressource Kubernetes dans ces clusters. Les configurations sont stockées dans un dépôt Git (voir également la définition de dépôt). Elles peuvent contenir toutes les informations de configuration que vous êtes susceptible d'appliquer à un cluster Kubernetes à l'aide de kubectl edit ou de kubectl apply. Vous pouvez même configurer des ressources personnalisées qui sont déjà présentes sur le cluster. Plusieurs configurations peuvent être définies dans un même fichier.

Pour plus d'informations, consultez la section Configurer des objets Kubernetes.

Repo

Le dépôt correspond au dépôt Git où sont stockées les configurations, y compris la configuration d'Anthos Config Management. Toutes les configurations doivent se trouver dans le même dépôt. Lors de la configuration d'Anthos Config Management, vous configurez le dépôt, la branche et le sous-répertoire qu'Anthos Config Management surveille pour identifier les modifications apportées.

La structure du dépôt est importante. Elle est décrite plus en détail sur la page Utiliser le dépôt Anthos Config Management.

Répertoire d'espace de noms abstrait

Anthos Config Management fournit un mécanisme appelé espaces de noms abstraits. Les espaces de noms abstraits vous permettent d'appliquer des règles à plusieurs espaces de noms associés sans dupliquer les configurations, et de remplacer ou d'étendre une configuration pour un espace de noms ou un ensemble d'espaces de noms donné.

Les espaces de noms abstraits s'appuient sur une hiérarchie du dépôt qui est semblable à un système de fichiers. La structure de répertoires du sous-répertoire namespaces/ détermine les règles qui s'appliquent à un espace de noms par le biais d'un mécanisme comparable à une arborescence de systèmes de fichiers. Les espaces de noms peuvent être imbriqués dans des sous-répertoires, appelés répertoires d'espaces de noms abstraits.

Pour en savoir plus, consultez la section Présentation de l'héritage des espaces de noms.

Afficher et vérifier les fichiers

Anthos Config Management fournit une API. Les commandes nomos et nomos.exe utilisent l'API et simplifient le processus de configuration du dépôt et de validation des configurations.

Pour en savoir plus, consultez la section Utiliser la commande nomos.

Et ensuite ?