Partager via


Meilleures pratiques pour la surveillance de Kubernetes avec Azure Monitor

Azure Monitor fournit un ensemble de services pour surveiller l’intégrité et les performances de vos clusters Kubernetes Service (AKS) et Kubernetes avec Azure Arc . Sans configuration appropriée, votre configuration de supervision peut manquer des problèmes critiques ou collecter des données inutiles, ce qui entraîne des lacunes dans la visibilité ou l’augmentation des coûts.

Cet article fournit les meilleures pratiques basées sur les cinq piliers de l’excellence de l’architecture dans Azure Well-Architected Framework pour vous aider à configurer une surveillance fiable, sécurisée et rentable pour vos clusters Kubernetes.

Bonnes pratiques de fiabilité pour la supervision Kubernetes

Assurez-vous de la fiabilité de vos clusters Kubernetes Service (AKS) et Kubernetes avec Azure Arc en activant les métriques Prometheus, Container Insights, les paramètres de diagnostic du plan de contrôle et les règles d’alerte. Ces recommandations vous aident à détecter et à répondre aux défaillances de votre cluster et à ses composants de surveillance.

Liste de contrôle pour la conception

  • Activez la scrutation des métriques Prometheus pour votre cluster.
  • Activez Container Insights pour collecter des journaux et des données de performance à partir de votre cluster.
  • Créez des paramètres de diagnostic pour collecter les journaux du plan de contrôle pour les clusters AKS.
  • Activez les alertes Prometheus recommandées.
  • Vérifiez la disponibilité de l’espace de travail Log Analytics prenant en charge Container Insights.

Recommandations de configuration

Recommandation Avantage
Activez la scrutation des métriques Prometheus pour votre cluster. Activez Prometheus sur votre cluster avec le service managé Azure Monitor pour Prometheus si vous n’avez pas encore d’environnement Prometheus. Utilisez Azure Managed Grafana pour analyser les données Prometheus collectées. Consultez Personnaliser la récupération des métriques Prometheus dans le service managé Azure Monitor pour Prometheus afin de collecter des métriques supplémentaires au-delà de la configuration par défaut.
Activez la collecte des journaux de logs et des données de performance depuis votre cluster. Container Insights collecte les journaux stdout/stderr, les métriques de performances et les événements Kubernetes à partir de chaque nœud de votre cluster. Il fournit des tableaux de bord et des rapports pour l’analyse de ces données, notamment la disponibilité de vos nœuds et d’autres composants. Utilisez Log Analytics pour identifier les erreurs de disponibilité dans vos journaux collectés.
Créez des paramètres de diagnostic pour collecter les journaux du plan de contrôle pour les clusters AKS. AKS implémente les journaux des plans de contrôle en tant que journaux de ressources dans Azure Monitor. Créez un paramètre de diagnostic pour envoyer ces journaux à votre espace de travail Log Analytics afin de pouvoir utiliser des requêtes de journal pour identifier les erreurs et les problèmes affectant la disponibilité.
Activez les alertes Prometheus recommandées. Les alertes dans Azure Monitor vous avertissent de manière proactive lorsqu’elles détectent les problèmes. Commencez par un ensemble de règles d’alerte Prometheus recommandées qui détectent les problèmes de disponibilité et de performances les plus courants avec votre cluster. Envisagez d’ajouter des alertes de recherche dans les journaux à l’aide des données collectées par Container Insights.
Vérifiez la disponibilité de l’espace de travail Log Analytics prenant en charge Container Insights. Container Insights s’appuie sur un espace de travail Log Analytics. Consultez Bonnes pratiques pour les journaux Azure Monitor pour obtenir des recommandations pour garantir la fiabilité de l’espace de travail.

Bonnes pratiques de sécurité pour la surveillance Kubernetes

Azure Monitor prend en charge l’accès au moins privilégié et la défense en profondeur pour les clusters Kubernetes. Ces recommandations de sécurité couvrent l’authentification d’identité managée, la connectivité de liaison privée, l’observabilité réseau et la sécurité de l’espace de travail Log Analytics.

Connecter des clusters à Container Insights à l’aide de l’authentification d’identité managée

L’authentification par identité managée est la méthode d’authentification par défaut pour les nouveaux clusters. Si vous utilisez l’authentification héritée, migrez vers l’identité managée pour supprimer l’authentification locale basée sur un certificat.

Instructions : Migrer vers l’authentification d’identité managée

Le service managé Azure pour Prometheus stocke ses données dans un espace de travail Azure Monitor, qui utilise un point de terminaison public par défaut. Microsoft sécurise les connexions aux points de terminaison publics avec le chiffrement de bout en bout. Si vous avez besoin d’un point de terminaison privé, utilisez une liaison privée Azure pour permettre à votre cluster de se connecter à l’espace de travail via des réseaux privés autorisés. Vous pouvez également utiliser la liaison privée afin d’imposer l’ingestion des données de l’espace de travail via ExpressRoute ou un VPN.

Instructions : Consultez Activer une liaison privée pour la surveillance Kubernetes dans Azure Monitor pour plus d’informations sur la configuration de votre cluster pour une liaison privée. Consultez Utiliser des points de terminaison privés pour l’espace de travail Prometheus managé et Azure Monitor pour plus d’informations sur l’interrogation de vos données à l’aide d’une liaison privée.

Surveiller le trafic réseau vers et depuis des clusters à l’aide de l’analytique du trafic

Traffic Analytics analyse les journaux de flux NSG Azure Network Watcher pour fournir des insights sur le flux de trafic dans votre cloud Azure. Utilisez cet outil pour vous assurer qu’il n’existe aucune exfiltration de données pour votre cluster et détecter si des adresses IP publiques inutiles sont exposées.

Activer l’observabilité réseau

Le module complémentaire d’observabilité réseau pour AKS offre une observabilité sur plusieurs couches de la pile réseau Kubernetes. Surveillez et observez l’accès entre les services du cluster (trafic est-ouest).

Instructions : Configurer l’observabilité du réseau de conteneurs pour Azure Kubernetes Service (AKS)

Sécuriser votre espace de travail Log Analytics

Container Insights envoie des données à un espace de travail Log Analytics. Veillez à bien sécuriser l’ingestion et le stockage des journaux dans votre espace de travail Log Analytics.

Instructions : Ingestion et stockage des logs.

Optimisation des coûts pour la supervision Kubernetes

Réduisez vos coûts Azure Monitor pour la supervision Kubernetes en optimisant la collecte de données, en configurant les niveaux tarifaires appropriés et en éliminant la collecte de métriques redondante. Consultez les coûts et l’utilisation d’Azure Monitor pour comprendre comment Azure Monitor facture et comment afficher votre facture mensuelle.

Remarque

Consultez Optimiser les coûts dans Azure Monitor pour obtenir des recommandations d’optimisation des coûts sur toutes les fonctionnalités d’Azure Monitor.

Liste de contrôle pour la conception

  • Activez la collecte des métriques via le service géré pour Prometheus d’Azure Monitor.
  • Configurez la collecte d’agents pour modifier la collecte de données dans Container Insights.
  • Modifiez les paramètres pour la collecte de données de métriques par Container Insights.
  • Désactivez la collecte Container Insights des données de métriques si vous n’utilisez pas l’expérience Container Insights dans le portail Azure.
  • Si vous n’interrogez pas régulièrement la table des journaux de conteneur ou que vous l’utilisez pour les alertes, configurez-la en tant que journaux de base.
  • Limitez la collecte des journaux de ressources dont vous n’avez pas besoin.
  • Utilisez la journalisation spécifique aux ressources pour les journaux de ressources AKS et configurez les tables en tant que journaux de base.
  • Utilisez OpenCost pour collecter des détails sur vos coûts Kubernetes.

Recommandations de configuration

Recommandation Avantage
Activez la collecte des métriques via le service géré pour Prometheus d’Azure Monitor. Veillez à ne pas envoyer de métriques Prometheus à un espace de travail Log Analytics. Vous pouvez utiliser le service managé Azure Monitor pour Prometheus pour récupérer les métriques Prometheus à partir de votre cluster en activant Prometheus géré. Vous pouvez également configurer Container Insights pour collecter des métriques Prometheus dans votre espace de travail Log Analytics, mais cette approche n’est pas recommandée, car elle est redondante avec les données Prometheus gérées et entraîne un coût supplémentaire. Pour plus d’informations, consultez Tarification de Prometheus managé.
Configurez l’agent pour modifier la collecte de données dans Container Insights. Analysez les données collectées par Container Insights, comme décrit dans Optimiser les coûts de surveillance pour Container Insights et ajustez votre configuration pour arrêter la collecte de données dont vous n’avez pas besoin.
Modifiez les paramètres pour la collecte de données de métriques par Container Insights. Pour plus d’informations sur la modification à la fois de la fréquence de collecte des données de métrique et des namespaces que Container Insights collectent, consultez Activer les paramètres d’optimisation des coûts.
Désactivez la collecte Container Insights des données de métriques si vous n’utilisez pas l’expérience Container Insights dans le portail Azure. Container Insights collecte de nombreuses valeurs de métriques identiques à Managed Prometheus. Vous pouvez désactiver la collecte de ces métriques en configurant Container Insights pour collecter uniquement les journaux et les événements , comme décrit dans Activer les paramètres d’optimisation des coûts dans Container Insights. Cette configuration désactive l’expérience Container Insights dans le portail Azure, mais vous pouvez utiliser Grafana pour visualiser les métriques Prometheus et Log Analytics pour analyser les données de journal collectées par Container Insights.
Si vous n’interrogez pas régulièrement la table des journaux de conteneur ou que vous l’utilisez pour les alertes, configurez-la en tant que journaux de base. Convertissez votre schéma Container Insights en ContainerLogV2, qui est compatible avec les journaux de base et peut fournir des économies significatives, comme décrit dans Optimiser les coûts de surveillance pour Container Insights.
Limitez la collecte des journaux de ressources dont vous n’avez pas besoin. Les journaux du plan de contrôle pour les clusters AKS sont implémentés en tant que journaux de ressources dans Azure Monitor. Créez un paramètre de diagnostic pour envoyer ces données à un espace de travail Log Analytics. Consultez Collecter les journaux d’activité du plan de contrôle des clusters AKS pour obtenir des recommandations sur les catégories que vous devez collecter.
Utilisez la journalisation spécifique aux ressources pour les journaux de ressources AKS et configurez les tables en tant que journaux de base. AKS prend en charge le mode diagnostics Azure ou le mode spécifique aux ressources pour les journaux de ressources. Spécifiez les journaux de ressources pour activer l’option permettant de configurer les tables pour les journaux de base, ce qui permet de réduire les frais d’ingestion pour les journaux que vous interrogez occasionnellement et que vous n’utilisez pas pour les alertes.
Utilisez OpenCost pour collecter des détails sur vos coûts Kubernetes. OpenCost est un projet bac à sable de la CNCF, neutre vis-à-vis des fournisseurs et open source, conçu pour comprendre vos coûts Kubernetes et soutenir la visibilité des coûts AKS. Il exporte des données de coût détaillées et des tarifs Azure spécifiques au client vers le stockage Azure pour vous aider à analyser et classer les coûts.

Excellence opérationnelle pour le suivi de Kubernetes

Simplifiez la gestion opérationnelle de votre supervision de cluster Kubernetes avec Azure Monitor. Ces recommandations couvrent les conseils de surveillance pour toutes les couches Kubernetes, l’intégration d’Azure Arc pour les clusters hybrides, les outils natifs cloud managés et la collecte de données automatisée basée sur des stratégies.

Liste de contrôle pour la conception

  • Passez en revue les conseils de surveillance de toutes les couches de votre environnement Kubernetes.
  • Utilisez Azure Arc-enabled Kubernetes pour surveiller vos clusters en dehors d’Azure.
  • Utilisez les services managés Azure pour les outils natifs cloud.
  • Intégrez des clusters AKS à vos outils de supervision existants.
  • Utilisez Azure Policy pour activer la collecte de données à partir de votre cluster Kubernetes.

Recommandations de configuration

Recommandation Avantage
Passez en revue les conseils de surveillance de toutes les couches de votre environnement Kubernetes. Surveillez les performances de votre cluster Kubernetes avec Container Insights inclut des conseils et des bonnes pratiques pour surveiller l’ensemble de votre environnement Kubernetes à partir des couches réseau, cluster et application.
Utilisez Azure Arc-enabled Kubernetes pour surveiller vos clusters en dehors d’Azure. Kubernetes avec Azure Arc vous permet de surveiller les clusters Kubernetes s’exécutant dans d’autres clouds à l’aide des mêmes outils que vos clusters AKS, notamment Container Insights et le service managé Azure Monitor pour Prometheus.
Utilisez les services managés Azure pour les outils natifs cloud. Le service managé Azure Monitor pour Prometheus et Azure managed Grafana prend en charge toutes les fonctionnalités des outils natifs cloud Prometheus et Grafana sans avoir à exploiter leur infrastructure sous-jacente. Vous pouvez provisionner rapidement ces outils et intégrer vos clusters Kubernetes avec une surcharge minimale. Ces services vous permettent d’accéder à une bibliothèque étendue de règles et de tableaux de bord de la communauté pour surveiller votre environnement Kubernetes.
Intégrez des clusters AKS à vos outils de supervision existants. Si vous avez un investissement existant dans Prometheus et Grafana, intégrez vos clusters AKS et vos services managés Azure dans votre environnement existant en suivant les conseils fournis dans les clusters Kubernetes Monitor à l’aide des services Azure et des outils cloud natifs.
Utilisez Azure Policy pour activer la collecte de données à partir de votre cluster Kubernetes. Utilisez Azure Policy pour activer les métriques Prometheus, la collecte des journaux et les paramètres de diagnostic. Cela garantit que tous les nouveaux clusters sont automatiquement surveillés et appliquent leur configuration de surveillance.

Efficacité des performances pour la supervision Kubernetes

Suivez les performances du cluster Kubernetes avec Azure Monitor en activant la collecte des métriques Prometheus, Container Insights et les règles d’alerte de performances. Ces recommandations vous aident à identifier les goulots d’étranglement des performances et à mettre à l’échelle efficacement vos clusters.

Liste de contrôle pour la conception

  • Activez la collecte des métriques Prometheus pour votre cluster.
  • Activez Container Insights pour suivre les performances de votre cluster.
  • Activez les alertes Prometheus recommandées.

Recommandations de configuration

Recommandation Avantage
Activez la collecte des métriques Prometheus pour votre cluster. Prometheus est une solution de métriques natives cloud de Cloud Native Computing Foundation et l’outil le plus courant utilisé pour collecter et analyser des données de métriques à partir de clusters Kubernetes. Activez Prometheus sur votre cluster avec le service managé Azure Monitor pour Prometheus si vous n’avez pas encore d’environnement Prometheus. Utilisez Azure Managed Grafana pour analyser les données Prometheus collectées.

Consultez Personnaliser la récupération des métriques Prometheus dans le service managé Azure Monitor pour Prometheus afin de collecter des métriques supplémentaires au-delà de la configuration par défaut.
Activez Container Insights pour suivre les performances de votre cluster. Lorsque vous activez Container Insights pour votre cluster Kubernetes, vous pouvez utiliser des vues et des classeurs pour suivre les performances des composants de votre cluster. Ces données peuvent chevaucher les données collectées par Prometheus. Consultez l’optimisation des coûts pour obtenir des recommandations sur les coûts.
Activez les alertes Prometheus recommandées. Les alertes dans Azure Monitor vous avertissent de manière proactive lorsqu’elles détectent les problèmes. Commencez par un ensemble de règles d’alerte Prometheus recommandées qui détectent les problèmes de disponibilité et de performances les plus courants avec votre cluster. Envisagez d’ajouter des alertes de recherche dans les journaux à l’aide des données collectées par Container Insights.