Cet article effectue une comparaison du monitoring Azure Kubernetes Service (AKS) et Amazon Elastic Kubernetes Service (Amazon EKS). Il vous conseille sur différentes options possibles pour superviser et gérer les journaux d’un cluster AKS et de ses charges de travail.
Remarque
Cet article fait partie d'une série d'articles qui aide les professionnels qui connaissent Amazon EKS à comprendre Azure Kubernetes Service (AKS).
Monitoring et journalisation Amazon EKS
Comme tous les services Kubernetes, EKS a deux composants principaux : le plan de contrôle et les nœuds Worker. Chaque couche a des fonctionnalités spécifiques.
Monitoring du cluster et du plan de contrôle Amazon EKS
Amazon EKS s’intègre à Amazon CloudWatch Logs pour permettre la journalisation et le monitoring du plan de contrôle Amazon EKS. Cette intégration n’est pas activée par défaut, mais lorsqu’elle est configurée, elle permet de collecter les données suivantes :
- Serveur d’API et appels d’API.
- Journaux d’audit et interactions utilisateur.
- Journaux d’Authenticator.
- Journaux de contrôleur et de Scheduler.
Amazon EKS expose les métriques du plan de contrôle au point de terminaison /metrics
, au format texte Prometheus. CloudWatch Container Insights peut collecter et stocker les métriques Prometheus. Vous pouvez déployer et autogérer Prometheus sur votre cluster EKS, ou utiliser Amazon Managed Service for Prometheus.
Amazon EKS s’intègre également à Amazon Web Services (AWS) CloudTrail pour permettre le suivi des actions et des appels d’API. Pour plus d’informations, consultez Journalisation des appels d’API Amazon EKS avec AWS CloudTrail.
Monitoring des charges de travail Amazon EKS
CloudWatch Container Insights peut collecter et agréger des métriques et des journaux à partir d’applications conteneurisées déployées dans EKS. Vous pouvez implémenter Container Insights sur Amazon EKS avec une version conteneurisée de l’agent CloudWatch, ou en utilisant la distribution AWS Distro for OpenTelemetry en tant que DaemonSet. Vous pouvez envoyer les journaux avec FluentBit.
Monitoring et journalisation AKS
Comme les autres ressources Azure, AKS génère des métriques de plateforme et journaux de ressources qui vous aident à superviser son intégrité et ses performances de base.
Téléchargez un fichier Visio de cette architecture.
Azure Monitor
AKS s’intègre en mode natif à Azure Monitor. Azure Monitor stocke les métriques et les journaux dans un emplacement central appelé espace de travail Log Analytics. Ces données sont traitées et analysées afin de fournir des insights et des alertes. Pour plus d’informations, consultez Superviser Azure Kubernetes Service (AKS) avec Azure Monitor.
Container Insights est la fonctionnalité d’Azure Monitor qui collecte, indexe et stocke les données générées par votre cluster AKS. Vous pouvez configurer Container Insights pour superviser les clusters Kubernetes managés qui sont hébergés sur AKS et d’autres configurations de cluster. Container Insights peut superviser l’intégrité et les performances d’AKS avec une visualisation adaptée aux environnements Kubernetes. Comme pour EKS, l’activation de Container Insights pour votre cluster AKS entraîne le déploiement d’une version conteneurisée de l’agent Log Analytics, qui est responsable de l’envoi des données à votre espace de travail Log Analytics.
Microsoft Sentinel
Microsoft Sentinel fournit une analytique de sécurité intelligente et une veille des menaces à l’échelle de l’entreprise. Avec Microsoft Sentinel, vous disposez d’une solution unique pour la détection des attaques, la visibilité des menaces, la chasse proactive et la réponse aux menaces.
Microsoft Sentinel doit être connecté à votre AKS. Ce connecteur vous permet de diffuser en streaming vos journaux de diagnostic AKS (Azure Kubernetes Service) dans Microsoft Sentinel, ce qui vous permet de superviser continuellement l’activité dans toutes vos instances.
Une fois que vous avez connecté vos sources de données à Microsoft Sentinel, vous pouvez visualiser et monitorer les données en utilisant les workbooks Microsoft Sentinel et Azure Monitor, qui offrent une grande souplesse dans la création de tableaux de bord personnalisés.
Monitoring du cluster AKS et de ses charges de travail
Un déploiement AKS peut se diviser en plusieurs parties : composants au niveau du cluster, composants AKS managés, objets et charges de travail Kubernetes, applications et ressources externes. Le tableau suivant présente une stratégie courante pour le monitoring d’un cluster AKS et des applications de charge de travail. Chaque niveau a des exigences de monitoring distinctes.
Niveau | Description | Exigences de supervision |
---|---|---|
Composants au niveau du cluster | Groupes de machines virtuelles identiques, représentés de façon abstraite par des nœuds et des pools de nœuds AKS | État des nœuds et utilisation des ressources, dont le processeur, la mémoire, le disque et le réseau |
Composants AKS managés | Composants du plan de contrôle AKS, dont les serveurs d’API, le contrôleur cloud et kubelet |
Journaux et métriques du plan de contrôle issus de l’espace de noms kube-system |
Objets et charges de travail Kubernetes | Objets Kubernetes tels que les déploiements, les conteneurs et les jeux de réplicas | Utilisation et échecs des ressources |
Applications | Charges de travail d’applications exécutées sur le cluster AKS | Monitoring spécifique de l’architecture, mais comprenant les journaux des applications et les transactions des services |
Externe | Ressources externes qui ne font pas partie d’AKS, mais qui sont requises pour la scalabilité et la gestion du cluster | Propre à chaque composant |
Composants au niveau du cluster : vous pouvez utiliser les vues et rapports Container Insights existants pour superviser les composants au niveau du cluster et ainsi mieux comprendre leur intégrité, leur préparation, leurs performances, leur utilisation des ressources processeur et mémoire, et les tendances.
Composants AKS managés : vous pouvez utiliser Metrics Explorer pour voir le compteur des requêtes en cours. Cette vue comprend la latence des requêtes et le temps de traitement des files d’attente de travaux.
Objets et charges de travail Kubernetes : vous pouvez utiliser les vues et rapports Container Insights existants pour superviser le déploiement, les contrôleurs, les pods et les conteneurs. Utilisez les vues Nœuds et Contrôleurs pour examiner l’intégrité et les performances des pods s’exécutant sur les nœuds et les contrôleurs, ainsi que leur consommation des ressources processeur et mémoire.
Dans la vue Conteneurs de Container Insights, vous pouvez examiner l’intégrité et les performances des conteneurs, ou sélectionner un conteneur particulier afin de superviser ses événements et journaux en temps réel. Pour plus de détails sur cette vue et l’analyse de l’intégrité et des performances des conteneurs, consultez Superviser les performances de votre cluster Kubernetes avec Container Insights.
Applications : vous pouvez utiliser Application Insights pour superviser les applications qui s’exécutent sur AKS et d’autres environnements. Application Insights est un outil de gestion des performances des applications qui prend en charge de nombreux langages de programmation. Selon vos besoins, vous pouvez instrumenter votre code d’application pour capturer les requêtes, les traces, les journaux, les exceptions, les métriques personnalisées et les transactions de bout en bout, puis envoyer toutes ces données à Application Insights. Si vous avez une application Java, vous pouvez implémenter le monitoring sans instrumenter votre code. Pour plus d’informations, consultez Monitoring d’applications sans instrumentation pour Kubernetes.
Composants externes : Vous pouvez utiliser les fonctionnalités d’Azure Monitor pour surveiller toute plateforme en tant que service (PaaS) Azure que vos applications de charge de travail utilisent, telles que les bases de données et autres ressources Azure.
Service Azure Monitor géré pour Prometheus
Prometheus est une solution de surveillance des métriques open-source populaire de la Cloud Native Compute Foundation et l’outil le plus couramment utilisé pour la collecte et l’analyse des données métriques des clusters Kubernetes. Azure Monitor managed service for Prometheus est une solution de surveillance entièrement gérée compatible avec Prometheus sur Azure, qui stocke ses données dans un espace de travail Azure Monitor, lequel est lié à un espace de travail Grafana afin que vous puissiez analyser les données avec Azure Managed Grafana.
Prometheus peut également être déployé indépendamment en tant que solution auto-gérée au sein des clusters Azure Kubernetes Service. Vous pouvez intégrer Prometheus auto-hébergé avec Azure Monitor. Container Insights peut être configuré pour collecter les métriques Prometheus. Vous pouvez exposer le point de terminaison des métriques Prometheus via vos exportateurs ou applications de pods, et l’agent conteneurisé pour Container Insights collectera les métriques.
Grafana géré par Azure
Azure Managed Grafana est une plateforme de visualisation de données construite sur Grafana. Il est créé en tant que service Azure entièrement géré et pris en charge par Microsoft. Plusieurs tableaux de bord Grafana prédéfinis sont disponibles pour la surveillance de Kubernetes et la résolution des problèmes de pile complète.
Azure Managed Grafana est optimisé pour l’environnement Azure et fonctionne avec de nombreux services Azure et offre des fonctionnalités d’intégration simples. Vous pouvez également déployer Grafana indépendamment en tant que solution auto-gérée. Pour plus d’informations, consultez Superviser vos services Azure dans Grafana.
Coûts du monitoring AKS
Le modèle tarifaire d’Azure Monitor repose principalement sur la quantité de données qui sont ingérées par jour dans votre espace de travail Log Analytics. Le coût varie en fonction du plan et des périodes de conservation que vous sélectionnez.
Avant d’activer Container Insights, estimez les coûts, et comprenez comment contrôler l’ingestion des données et les coûts associés. Pour plus de conseils, consultez Estimation des coûts pour le monitoring de votre cluster AKS.
Contributeurs
Cet article est géré par Microsoft. Il a été écrit à l’origine par les contributeurs suivants.
Auteurs principaux :
- Ketan Chawda | Ingénieur client senior
- Paolo Salvatori | Ingénieur des services principaux
- Laura Nicolas | Ingénieur logiciel senior
Autres contributeurs :
- Chad Kittel | Ingénieur logiciel principal
- Ed Price | Responsable de programme senior
- Theano Petersen | Rédacteur technique
Pour afficher les profils LinkedIn non publics, connectez-vous à LinkedIn.
Étapes suivantes
- AKS pour les professionnels Amazon EKS
- Gestion de l’identité et de l’accès Kubernetes
- Sécuriser l’accès réseau à Kubernetes
- Options de stockage pour un cluster Kubernetes
- Gestion des coûts pour Kubernetes
- Gestion des nœuds et des pools de nœuds Kubernetes
- Gouvernance des clusters
Ressources associées
- Utiliser l’étendue de liaison privée Azure Monitor
- Superviser Azure Kubernetes Service (AKS) avec Azure Monitor
- Informations de référence sur les données de supervision AKS
- Vue d’ensemble de Container Insights
- Activer Container Insights
- Journaux de ressources AKS
- Configurer le scraping des métriques Prometheus avec Container Insights
- Interroger les journaux à partir de Container Insights
- Source de données Azure Monitor pour Grafana
- Superviser et sauvegarder les ressources Azure
- Instrumenter des solutions pour prendre en charge la surveillance et la journalisation
- Concevoir une solution pour journaliser et surveiller les ressources Azure
- Superviser l’utilisation, les performances et la disponibilité des ressources avec Azure Monitor