Meilleures pratiques pour la surveillance de Kubernetes avec Azure Monitor

Cet article fournit les meilleures pratiques pour surveiller l’intégrité et les performances de vos Azure Kubernetes Service (AKS) et clusters Azure Arc-enabled Kubernetes. Les conseils sont basés sur les cinq piliers d’excellence de l’architecture décrits dans Azure Well-Architected Framework.

Fiabilité

Dans le cloud, nous reconnaissons que des échecs se produisent. Au lieu d’essayer d’empêcher toutes les défaillances, l’objectif est de réduire les répercussions d’une défaillance potentielle au niveau de chaque composant. Utilisez les informations suivantes pour tirer le meilleur parti d’Azure Monitor pour garantir la fiabilité de vos clusters Kubernetes et de votre environnement de supervision.

Check-list pour la conception

  • Activez la récupération des métriques Prometheus pour votre cluster.
  • Activez Container Insights pour la collecte de journaux et de données de performances à 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 relatives à la configuration

Recommandation Avantage
Activez la récupération 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 pour collecter des métriques supplémentaires au-delà de la configuration par défaut .
Activez Container Insights pour la collecte de journaux et de données de performances à partir de 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éer un paramètre de diagnostic pour envoyer ces journaux à votre espace de travail Log Analytics afin de pouvoir utiliser requêtes de journal pour identifier les erreurs et les problèmes affectant la disponibilité.
Activez les alertes Prometheus recommandées. Alertes dans Azure Monitor vous avertit de manière proactive lorsque des problèmes sont détectés. 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. Ajoutez potentiellement des alertes de recherche de journaux à l’aide de 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 meilleures pratiques pour les journaux Azure Monitor pour obtenir des recommandations pour garantir la fiabilité de l’espace de travail.

Sécurité

La sécurité est l’un des aspects les plus importants de toute architecture. Azure Monitor fournit des fonctionnalités pour utiliser à la fois les principes du moindre privilège et de la défense en profondeur. Utilisez les informations suivantes pour surveiller vos clusters Kubernetes et assurez-vous que seuls les utilisateurs autorisés accèdent aux données collectées.

Check-list pour la conception

  • Utilisez l’authentification d’identité managée pour votre cluster pour vous connecter à Container Insights.
  • Envisagez d’utiliser une liaison privée Azure pour votre cluster pour vous connecter à votre espace de travail Azure Monitor à l’aide d’un point de terminaison privé.
  • Utilisez l’analytique du trafic pour surveiller le trafic réseau vers et depuis votre cluster.
  • Activez l’observabilité réseau.
  • Assurez-vous que la sécurité de l’espace de travail Log Analytics prend en charge Container Insights.

Recommandations relatives à la configuration

Recommandation Avantage
Utilisez l’authentification d’identité managée pour votre cluster pour vous connecter à Container Insights. L’authentification d’identité managée est la valeur par défaut pour les nouveaux clusters. Si vous utilisez l’authentification héritée, vous devez migrer vers l’identité managée pour supprimer l’authentification locale basée sur un certificat.
Envisagez d’utiliser une liaison privée Azure pour votre cluster pour vous connecter à votre espace de travail Azure Monitor à l’aide d’un point de terminaison privé. 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. Les connexions aux points de terminaison publics sont sécurisées avec un chiffrement de bout en bout. Si vous avez besoin d’un point de terminaison privé, vous pouvez utiliser Azure Private Link pour permettre à votre cluster de se connecter à l’espace de travail via des réseaux privés autorisés. Private Link peut également être utilisé pour forcer l’ingestion de données de l’espace de travail sur ExpressRoute ou un VPN.

Consultez Private Link pour l’ingestion de données pour l’espace de travail Prometheus managé et 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.
Utilisez l’analytique du trafic pour surveiller le trafic réseau vers et depuis votre cluster. 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.
Activez l’observabilité réseau. Le module complémentaire d’observabilité réseau pour AKS offre une observabilité sur les plusieurs couches de la pile de mise en réseau Kubernetes. surveiller et observer l’accès entre les services du cluster (trafic est-ouest).
Assurez-vous que la sécurité de l’espace de travail Log Analytics prend en charge Container Insights. Container Insights s’appuie sur un espace de travail Log Analytics. Consultez Les meilleures pratiques pour les journaux Azure Monitor pour obtenir des recommandations pour garantir la sécurité de l’espace de travail.

Optimisation des coûts

L’optimisation des coûts fait référence aux moyens de réduire les dépenses inutiles et d’améliorer l’efficacité opérationnelle. Vous pouvez réduire considérablement votre coût pour Azure Monitor en comprenant vos différentes options de configuration et les possibilités de réduire la quantité de données collectées. Consultez Utilisation et coût d’Azure Monitor pour comprendre les différents coûts Azure Monitor et comment voir votre facture mensuelle.

Notes

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

Check-list pour la conception

  • N’activez pas la collecte Container Insights des métriques Prometheus.
  • 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 relatives à la configuration

Recommandation Avantage
N’activez pas la collecte Container Insights des métriques Prometheus dans l’espace de travail Log Analytics si vous avez activé la récupération de métriques avec Prometheus. Outre la suppression des métriques Prometheus à partir de votre cluster à l’aide de service managé Azure Monitor pour Prometheus, vous pouvez configurer Container Insights pour collecter des métriques Prometheus dans votre espace de travail Log Analytics. Cela est redondant avec les données dans Prometheus managé et entraîne des coûts supplémentaires.
Configurez l’agent pour modifier la collecte de données dans Container Insights. Analysez les données collectées par Insights de conteneur comme décrit dans Contrôle de l’ingestion pour réduire les coûts et ajustez votre configuration pour arrêter la collecte des données dont vous n’avez pas besoin.
Modifiez les paramètres pour la collecte de données de métriques par Container Insights. Consultez Activer les paramètres d’optimisation des coûts pour plus d’informations sur la modification de la fréquence à laquelle les données de métrique sont collectées et les espaces de noms collectés 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. Container Insights collecte de nombreuses valeurs de métriques identiques à Prometheus managé. Vous pouvez désactiver la collecte de ces métriques en configurant Container Insights pour qu’il ne collecte 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. Convertir votre schéma Container Insights en containerLogV2 compatible avec les journaux d’activité basiques et peut réaliser des économies significatives, comme décrit dans Contrôle de l’ingestion pour réduire les coûts.
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 des journaux de ressources à un espace de travail Log Analytics. Consultez Collecter les journaux du plan de contrôle pour les 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 journaux de ressources. Spécifiez les journaux de ressources pour activer l’option permettant de configurer les tables pour journaux de base, qui fournissent une charge d’ingestion réduite pour les journaux que vous interrogez occasionnellement et n’utilisez pas pour les alertes.
Utilisez OpenCost pour collecter des détails sur vos coûts Kubernetes. OpenCost est un projet de bac à sable CNCF indépendant du fournisseur et open source pour comprendre vos coûts Kubernetes et prendre en charge votre capacité à obtenir une visibilité des coûts AKS. Il exporte des données de coût détaillées en plus des tarifs Azure spécifiques au client vers le stockage Azure pour aider l’administrateur de cluster à analyser et à catégoriser les coûts.

Excellence opérationnelle

L’excellence opérationnelle fait référence aux processus opérationnels nécessaires pour qu’un service en production s’exécute toujours de manière fiable. Utilisez les informations suivantes pour réduire les exigences opérationnelles de surveillance de vos clusters Kubernetes.

Check-list 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 relatives à la configuration

Recommandation Avantage
Passez en revue les conseils de surveillance de toutes les couches de votre environnement Kubernetes. Surveiller 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 du réseau, du cluster et des couches d’application.
Utilisez Azure Arc-enabled Kubernetes pour surveiller vos clusters en dehors d’Azure. Kubernetes avec Azure Arc permet à vos clusters Kubernetes s’exécutant dans d’autres clouds d’être surveillés à 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. Service managé Azure Monitor pour Prometheus et Azure managé Grafana prendre 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 à l’aide des conseils des clusters Kubernetes Monitor à l’aide des services Azure et des outils natifs cloud.
Utilisez Azure Policy pour activer la collecte de données à partir de votre cluster Kubernetes. Utilisez Azure Policy pour activer la collecte de données pour activer métriques Prometheus, Container Insightset paramètres de diagnostic. Cela garantit que tous les nouveaux clusters sont automatiquement surveillés et appliquent leur configuration de surveillance.

Efficacité des performances

L’efficacité des performances est la capacité de votre charge de travail à s’adapter à la demande des utilisateurs de façon efficace. Utilisez les informations suivantes pour surveiller les performances de vos clusters Kubernetes et vous assurer qu’ils sont configurés pour des performances maximales.

Check-list 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 relatives à la 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 Compute Foundation et l’outil le plus couramment utilisé pour collecter et analyser les données de métrique à 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 pour 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 d’optimisation des coûts pour obtenir des recommandations concernant les coûts.
Activez les alertes Prometheus recommandées. Alertes dans Azure Monitor vous avertit de manière proactive lorsque des problèmes sont détectés. 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. Ajoutez potentiellement des alertes de recherche de journaux à l’aide de données collectées par Container Insights.

Étape suivante