Kubernetes est un système d’orchestration de conteneurs très dynamique et son supervision efficace s’avère capitale pour maintenir la performance, la fiabilité et la sécurité. L’observabilité Kubernetes assure une haute disponibilité et une performance optimale du système. Un environnement Kubernetes étant dynamique et distribué, la supervision des déploiements, des pods et des métriques système exige une stratégie d’observabilité complète. Elle consiste à suivre les métriques en temps réel, les journaux et les traces pour savoir comment se comportent les applications et les éléments d’infrastructure. En savoir plus sur la supervision Kubernetes ici.
Ce guide expose en détail comment exécuter la supervision Kubernetes des métriques et des déploiements, avec les outils natifs (kubectl, Metrics Server) ou des solutions tierces (Prometheus, Grafana, ManageEngine Applications Manager).
L’éphémérité et la complexité caractérisent les environnements Kubernetes. Des charges de travail sont constamment créées, adaptées et supprimées. Ce dynamisme, allié à la nature distribuée des architectures de microservices, exige une solide stratégie d’observabilité. À défaut, on risque :
Pour prévenir ces risques et fluidifier l’exécution des déploiements Kubernetes, il faut adopter les trois piliers de l’observabilité :
En alliant ces éléments, les équipes DevOps peuvent détecter les anomalies, résoudre les problèmes et optimiser la performance.
Les métriques offrent un aperçu quantitatif en temps réel de l’environnement Kubernetes. Kubernetes fournit plusieurs outils intégrés et externes pour collecter les métriques. Voici quelques moyens d’obtenir les métriques Kubernetes :
Metrics Server est un collecteur de données d’utilisation des ressources d’un cluster. Idéal pour :
Utilisez le script Bash suivant :
Kubernetes expose les données d’utilisation des ressources clés via Metrics Server. Voici des commandes pour récupérer les données d’utilisation de Metrics Server :
kubectl top nodes : utilisation de l’UC et de la mémoire des nœuds.kubectl top pods --all-namespaces : utilisation de l’UC et de la mémoire des pods.kubectl describe pod <nom-pod> : détails des pods (demandes de ressources/limites).kubectl get pods --all-namespaces : liste de l’état des pods.Metrics Server ne stocke pas de données historiques, limitant son usage pour superviser les tendances à long terme.
Prometheus est la norme de fait pour superviser les métriques Kubernetes, offrant :
Déploiement de Prometheus avec Helm :
Vérification de l’installation :
kubectl get pods -n monitoring
Accès au tableau de bord Prometheus :
kubectl port-forward svc/prometheus-server 9090:80 -n monitoring
| Requêtes | Description |
|---|---|
up{job="kubernetes-nodes"} | Vérifie la disponibilité des nœuds. |
sum(rate(node_cpu_seconds_total{mode="user"}[5m])) by (node) | Calcule l’utilisation du processeur par nœud. |
sum(kube_pod_container_status_restarts_total) by (pod, namespace) | Suit le nombre de redémarrages de pod. |
histogram_quantile(0.95, rate(http_server_requests_seconds[5m])) | Mesure le 95e percentile de la latence des demandes. |
Pour une qualité de supervision Kubernetes optimale, ManageEngine Applications Manager offre des tableaux de bord prédéfinis et une détection des anomalies à IA, évitant la complexité des configurations Prometheus manuelles.
Il existe deux méthodes pour observer les déploiements Kubernetes. Les voici :

On peut observer les déploiements Kubernetes en temps réel avec :
| Commande | Description |
|---|---|
kubectl get deployments --all-namespaces | Affiche tous les déploiements. |
kubectl describe deployment <nom-déploiement> | Décrit un déploiement précis. |
kubectl rollout status deployment <nom-déploiement> | Superviser les mises à jour continues. |
kubectl logs -f <pod-name> | Affiche les journaux détaillés des pods. |
En alliant les outils d’affichage de Grafana à la collecte de métriques de Prometheus, on obtient un aperçu utile des déploiements Kubernetes. Voici les étapes pour obtenir des rapports visuels des déploiements Kubernetes dans Grafana :
Installation de Grafana via Helm :
Accès au tableau de bord :
Importation de tableaux de bord de supervision Kubernetes prédéfinis de Grafana Labs.
ManageEngine Applications Manager s’intègre directement à Kubernetes pour afficher les déploiements et superviser les anomalies en temps réel. Il enrichit la supervision Kubernetes en s’intégrant bien à Prometheus, aidant à ingérer ses métriques actuels et à les réunir avec d’autres données de l’infrastructure informatique. Cela offre des tableaux de bord prédéfinis, une détection des anomalies à IA pour éviter la lassitude des alertes et des moyens de corrélation pour résoudre rapidement les problèmes. D’autre part, la recherche automatique des nouvelles ressources et le maintien de la neutralité à l’égard du fournisseur simplifient l’observabilité Kubernetes sans exiger de configurations Prometheus complexes, autonomes.
Les journaux sont indispensables pour déboguer, résoudre les problèmes et mieux comprendre le fonctionnement interne des applications. Une observabilité des journaux fiable s’avère cruciale pour identifier les échecs de déploiement, isoler les problèmes de performance et maintenir l’intégrité globale de l’environnement Kubernetes. Voici deux méthodes pour observer les journaux :
L’outil de ligne de commande Kubernetes, kubectl, permet l’accès direct aux journaux des pods, offrant un moyen rapide et efficace d’examiner le comportement des applications en temps réel.
| Commande | Objet | Cas d’usage |
|---|---|---|
kubectl logs <pod-name> | Récupère les journaux du conteneur principal du pod indiqué. Cette commande est idéale pour examiner rapidement le résultat d’un seul processus applicatif. | Pour identifier rapidement les problèmes d’un pod à conteneur unique, vérifiez les messages d’initialisation de l’application ou supervisez le résultat d’un processus précis. |
kubectl logs <pod-name> --all-containers | Collecte et affiche les journaux de tous les conteneurs du pod indiqué. Cela s’avère surtout utile pour déboguer des pods complexes avec plusieurs conteneurs Sidecar ou des microservices à interaction étroite. | Pour corriger les interactions de plusieurs conteneurs, examinez les journaux des conteneurs Sidecar (par exemple, agents de journalisation, maillages de services) ou supervisez le comportement des applications multi-éléments. |
Pour les vastes déploiements Kubernetes, un outil de collecte de journaux centralisée est essentiel. La pile EFK (Elasticsearch, Fluentd, Kibana) offre une plateforme fiable et évolutive pour la gestion et la supervision des journaux.
Dans les architectures de microservices, où les demandes passent par plusieurs services, le suivi distribué est indispensable pour comprendre leur flux et isoler les problèmes de performance.
Jaeger est un outil de suivi open source phare, qui permet d’afficher le chemin des demandes et d’identifier les problèmes de latence des microservices.
Étapes de déploiement :
Installation de Jaeger via Helm :
Instrumentation SDK OpenTelemetry des applications.
Accès à l’interface Jaeger :
ManageEngine Applications Manager simplifie le suivi. Évitez la charge d’installer et de configurer Jaeger et la complexité de l’instrumentation SDK. Applications Manager offre un suivi distribué intégré, simplifiant l’observabilité des microservices.
En conclusion, une observabilité Kubernetes efficace n’implique pas une configuration unique ; il s’agit d’un processus continu de suivi, de supervision et d’optimisation. En adoptant les trois piliers de l’observabilité et utilisant les bons outils, on peut garantir l’intégrité, la performance et la sécurité des déploiements Kubernetes.
Avouons-le, il s’avère lourd de configurer manuellement l’observabilité en suivant les consignes ci-dessus. Pour l’entreprise cherchant une solution de supervision Kubernetes optimisée et fiable qui allie suivi proactif et efficacité opérationnelle, ManageEngine Applications Manager ressort comme une plateforme performante et intuitive. Elle vise à alléger la charge des configurations de supervision Kubernetes complexes, offrant une solide suite de fonctionnalités immédiatement utiles et durablement bénéfiques. Voici ces caractéristiques clés :
En suivant la bonne stratégie d’observabilité, l’entreprise peut détecter de façon proactive les problèmes, optimiser l’utilisation des ressources et maintenir la résilience de son infrastructure Kubernetes.
Avec son interface intuitive, ses outils d’alerte fiables et ses options de déploiement flexibles, Applications Manager permet de réduire les interruptions, gagner en efficacité opérationnelle et assurer une excellente expérience utilisateur. Que l’on gère des environnements sur site, dans le cloud ou hybrides, Applications Manager élimine la complexité de la supervision informatique.
Améliorez votre stratégie de supervision Kubernetes avec Applications Manager. Téléchargez maintenant et découvrez la différence ou prévoyez une démo personnalisée pour une visite guidée.