Utiliser GitOps pour configurer des clusters Kubernetes avec Azure Arc

Effectué

Un des avantages phares d’Azure Arc est de faciliter l’implémentation des principes de DevOps, qui applique des pratiques de développement établies aux opérations. DevOps améliore l’agilité sans compromettre la stabilité de l’environnement informatique.

Kubernetes avec Azure Arc prend en charge GitOps, une pratique de DevOps qui simplifie les mises en production d’applications en réduisant les efforts liés au déploiement manuel.

Dans cette leçon, découvrez GitOps et la manière de le configurer pour des clusters Kubernetes avec Azure Arc.

GitOps pour Kubernetes avec Arc

GitOps facilite la standardisation des configurations Kubernetes dans l’ensemble de votre organisation, y compris Kubernetes avec Arc. Un dépôt ou une autre source de fichiers héberge des fichiers de configuration qui représentent l’état attendu d’une ressource. Par exemple, une configuration de référence peut inclure le modèle de délégation, les paramètres de supervision et de journalisation ainsi que les caractéristiques des services à l’échelle du cluster.

Un agent s’exécutant sur le cluster Kubernetes supervise l’état du dépôt. Quand il y a une modification de configuration, l’agent extrait les fichiers mis à jour sur le cluster et applique la nouvelle configuration, ce qui garantit que le cluster reste dans l’état souhaité.

Les clusters Kubernetes avec Azure Arc s’appuient sur Flux, un opérateur de déploiement GitOps open source répandu qui automatise les déploiements de configuration sur le cluster. Flux prend en charge les sources de fichiers courantes comme les dépôts Git, les référentiels Helm et les compartiments, et prend en charge les types de modèle de configuration YAML, Helm et Kustomize.

Le diagramme suivant illustre un flux GitOps qui utilise Flux pour déployer des configurations de cluster et des mises à jour d’application.

Diagram of the GitOps flow showing an application update.

Configurer GitOps

GitOps associe votre cluster Kubernetes avec Arc à une ou plusieurs sources de fichiers, comme un dépôt Git. Chaque dépôt peut contenir les configurations de n’importe quelle ressource Kubernetes valide, comme des espaces de noms ou des déploiements, sous la forme de fichiers manifeste.

Le diagramme suivant montre le processus d’application de configurations basées sur GitOps à plusieurs clusters avec Azure Arc.

Diagram showing the process of applying GitOps-based configuration to multiple Azure Arc-enabled clusters.

GitOps est activé dans un cluster Kubernetes en tant que ressource d’extension de cluster Microsoft.KubernetesConfiguration/extensions/microsoft.flux. Pour créer fluxConfigurations, l’extension microsoft.flux doit être installée dans le cluster. L’extension s’installe automatiquement lorsque vous créez la première instance de Microsoft.KubernetesConfiguration/fluxConfigurations dans un cluster. Vous pouvez aussi installer l’extension manuellement avant de créer vos configurations.

Chaque association entre une configuration de cluster Kubernetes avec Azure Arc et son dépôt GitOps correspondant se trouve dans Azure, au sein de la ressource Azure de cluster Kubernetes avec Azure Arc. Vous pouvez configurer l’association à l’aide d’interfaces de gestion Azure comme le portail Azure ou Azure CLI.

Utilisez les étapes générales suivantes pour implémenter GitOps avec un cluster Kubernetes avec Azure Arc.

  1. Utilisez l’extension k8s-configuration Azure CLI pour appliquer une configuration Flux et activer GitOps dans votre cluster Kubernetes avec Arc.
  2. Vérifiez la configuration pour confirmer qu’elle a bien été créée. La ressource de configuration se met à jour avec l’état de conformité, les messages et les informations de débogage.

Une fois que vous avez appliqué la configuration, vous pouvez utiliser le portail Azure pour voir les détails de conformité. Vous pouvez également utiliser le portail Azure pour créer, mettre à jour et supprimer des configurations GitOps.

Utiliser Azure Policy pour automatiser la configuration

Vous pouvez utiliser Azure Policy pour automatiser le processus de configuration, ce qui vous permet de l’appliquer de façon cohérente à grande échelle. Avant d’affecter une stratégie pour configurer les clusters, vous devez vérifier que l’extension Flux est créée sur les clusters. Vous pouvez faire cela en affectant d’abord la définition de stratégie Configurer l’installation de l’extension Flux sur le cluster Kubernetes, ce qui garantit l’installation de l’extension.

La création de l’affectation Azure Policy dans le portail Azure se compose des grandes étapes suivantes :

  1. Sur le portail Azure, affichez toutes les définitions de stratégie en recherchant et en sélectionnant Stratégie, puis sélectionnez Définitions dans le menu de gauche de la page Stratégie.
  2. Recherchez Configurer des clusters Kubernetes avec la configuration GitOps spécifiée, puis sélectionnez l’une des définitions de stratégie intégrées.
  3. Sélectionnez Affecter, puis créez une affectation de stratégie en spécifiant les valeurs pour l’étendue, les paramètres et la correction.
  4. Sélectionnez Examiner + créer, puis sélectionnez Créer.

L’affectation de stratégie active automatiquement GitOps pour chaque cluster Kubernetes avec Azure Arc qui est créée dans l’étendue de l’affectation. Pour les clusters existants, vous devez exécuter manuellement la tâche de correction.

Vous en découvrirez plus sur Azure Policy dans l’unité suivante.