Gérer Kubernetes avec Azure Arc en utilisant Azure Policy et Azure Monitor

Effectué

Azure Arc centralise et simplifie la gestion en activant une gamme de services Azure, comme Azure Policy et Azure Monitor.

Dans cette unité, vous découvrez comment utiliser ces services pour gérer et superviser les clusters Kubernetes avec Azure Arc.

Azure Policy

Azure Policy utilise des règles déclaratives basées sur les propriétés des types de ressources cibles, y compris les clusters Kubernetes et leurs composants. Ces règles forment des définitions de stratégie, que les administrateurs peuvent appliquer via l’affectation d’une stratégie à des groupes de ressources, des abonnements ou des groupes d’administration.

Azure Policy pour Kubernetes

Avec Azure Policy pour Kubernetes, les entreprises peuvent appliquer des règles de gouvernance uniformes à l’ensemble de leurs clusters Kubernetes avec Azure Arc afin de détecter la non-conformité avec les standards de l’organisation.

L’extension Azure Policy pour Kubernetes avec Arc effectue les actions suivantes :

  • Il vérifie périodiquement les affectations Azure Policy qui ciblent le cluster Kubernetes hébergeant les pods de contrôleur d’admission.
  • Il déploie les définitions de stratégie dans le cluster en tant que ressources personnalisées qui appliquent des contraintes, qui sont à leur tour appliquées par les pods de contrôleur d’admission.
  • Il remonte les données d’audit et de conformité à Azure Policy, ce qui vous permet d’examiner l’état via le portail Azure, comme pour d’autres ressources Azure ou Azure Arc.

Définitions de stratégie intégrées pour Kubernetes avec Arc

Azure Policy offre de nombreuses définitions intégrées pour Kubernetes avec Azure Arc, notamment les définitions de stratégie courantes suivantes :

Nom de stratégie Description de stratégie
Le cluster Kubernetes ne doit pas autoriser les conteneurs privilégiés Empêche la création de conteneurs privilégiés dans un cluster.
Les clusters Kubernetes doivent être accessibles uniquement par le biais de HTTPS Garantit que le protocole HTTPS est utilisé pour les connexions entrantes.
Les services de cluster Kubernetes doivent utiliser uniquement des adresses IP externes autorisées Garantit que seules les adresses IP externes autorisées sont utilisées.
Les limites de ressources processeur et de mémoire des conteneurs de clusters Kubernetes ne doivent pas dépasser les limites spécifiées Applique des limites de ressources de processeur et de mémoire pour les conteneurs.
Les services de cluster Kubernetes doivent écouter uniquement sur les ports autorisés Garantit que les services écoutent seulement sur les ports autorisés.
Les conteneurs de cluster Kubernetes doivent utiliser uniquement des fonctionnalités autorisées Limite les images qui peuvent être utilisées pour déployer des conteneurs aux images des registres approuvés.
Les conteneurs de cluster Kubernetes doivent utiliser uniquement des fonctionnalités autorisées Limite les fonctionnalités pour réduire la surface d’attaque des conteneurs.
Les pods de cluster Kubernetes doivent utiliser uniquement un réseau hôte et une plage de ports approuvés Limite l’accès des pods au réseau hôte et à la plage de ports hôtes autorisée dans un cluster.

De nombreuses autres définitions de stratégie intégrées sont disponibles. Pour afficher toutes les définitions de stratégie, recherchez et sélectionnez Stratégie dans le portail Azure, sélectionnez Définitions dans le menu de gauche, puis sélectionnez Kubernetes dans la liste déroulante Catégorie.

Implémenter Azure Policy pour Kubernetes

Pour implémenter Azure Policy pour Kubernetes sur des clusters connectés, vous devez installer l’extension Azure Policy. Pour Kubernetes avec Azure Arc, le processus comporte les grandes étapes suivantes.

  1. Connectez-vous au locataire Microsoft Entra avec un compte qui dispose des autorisations nécessaires pour gérer la ressource Kubernetes avec Arc.
  2. Créez une instance d’extension Azure Policy sur le cluster.
  3. Créez une affectation de stratégie en utilisant l’une des définitions de stratégie propres à Kubernetes.

Une fois l’affectation de stratégie créée, Azure Policy commence à vérifier la conformité.

Azure Monitor

Azure Monitor étend les fonctionnalités de gestion complètes et basées sur le cloud au-delà d’Azure, à des centres de données locaux, et à des fournisseurs de cloud autres que Microsoft. Monitor collecte et supervise des métriques, des journaux d’activité et de diagnostics, et des événements provenant de services Azure, de ressources Arc, et de ressources des centres de données locaux et des cloud tiers.

Les fonctionnalités de l’interface Azure Monitor incluent les suivantes :

  • Des tableaux de bord et des classeurs
  • L’analyse des métriques avec des outils comme Metrics Explorer ou Power BI
  • Des groupes d’actions courants qui désignent des actions déclenchées par alerte et les destinataires des alertes

Azure Monitor Container Insights

Azure Monitor Container Insights fournit des informations complètes sur l’état de l’environnement Kubernetes, ce qui permet de maintenir la stabilité opérationnelle et la continuité des activités. Les métriques sont collectées sur les contrôleurs, les nœuds et les conteneurs dans les environnements Kubernetes, y compris Kubernetes avec Azure Arc.

Container Insights fournit les fonctionnalités suivantes :

  • Identifier les conteneurs qui s’exécutent sur chaque nœud de cluster et leur utilisation moyenne du processeur et de la mémoire, afin d’aider à détecter les goulots d’étranglement de ressources.
  • Identifier les conteneurs s’exécutant dans des pods individuels, afin de vous aider à suivre les performances globales du pod.
  • Évaluer l’utilisation des ressources par les charges de travail s’exécutant sur l’hôte qui ne sont pas liées aux processus standard qui prennent en charge le pod.
  • Comparer le comportement du cluster sous les charges moyennes et les plus lourdes, afin d’évaluer les besoins en capacité et d’estimer la charge maximale que le cluster peut supporter.
  • Configurer des alertes pour vous avertir de façon proactive quand l’utilisation des ressources dépasse les seuils acceptables ou en cas de changement de l’état d’intégrité dans le cluster.

Surveiller les clusters Kubernetes avec Azure Arc

Azure Monitor Container Insights s’appuie sur une version conteneurisée de l’agent Azure Monitor pour Linux. Cet agent s’exécute dans le cluster supervisé pour collecter des journaux et des métriques de performances à partir des conteneurs et des nœuds de cluster. L’agent interagit directement avec l’API Métriques de Kubernetes et charge les données collectées dans Azure.

Le processus d’implémentation d’Azure Monitor Container Insights pour les déploiements Kubernetes avec Azure Arc se compose des grandes étapes suivantes.

  1. Connectez-vous au locataire Microsoft Entra avec un compte qui dispose des autorisations nécessaires pour gérer la ressource Kubernetes avec Arc.
  2. Identifiez l’ID de l’espace de travail Log Analytics que vous voulez utiliser.
  3. Créez une instance d’extension Azure Monitor Container Insights sur le cluster en utilisant l’ID d’espace de travail Log Analytics.