La supervision est un élément clé pour garantir la stabilité et la performance d’un cluster Kubernetes.
Prometheus (collecte de métriques) et Grafana (visualisation) constituent une solution open source puissante pour surveiller vos applications et ressources.
Dans cet article, nous allons voir comment mettre en place Prometheus et Grafana pour superviser un cluster Kubernetes.
Plan de l’article
- Déployer Prometheus dans Kubernetes
- Configurer l’export des métriques
- Déployer Grafana et connecter Prometheus
- Créer des tableaux de bord de supervision
- Conclusion
Déployer Prometheus dans Kubernetes
Installer le Prometheus Operator via Helm :
helm repo add prometheus-community https://prometheus-community.github.io/helm-charts
helm repo update
helm install kube-prometheus prometheus-community/kube-prometheus-stack
Cela installe Prometheus, Alertmanager et Grafana.
Configurer l’export des métriques
Exemple d’annotations dans un Pod pour exposer des métriques :
apiVersion: v1
kind: Pod
metadata:
name: myapp
annotations:
prometheus.io/scrape: "true"
prometheus.io/port: "8080"
spec:
containers:
- name: app
image: myapp:latest
ports:
- containerPort: 8080
Prometheus détectera automatiquement les métriques via ces annotations.
Déployer Grafana
Déjà inclus dans le chart kube-prometheus, Grafana est accessible via un port-forward :
kubectl port-forward svc/kube-prometheus-stack-grafana 3000:80
Accéder à Grafana : http://localhost:3000
(admin/admin par défaut).
Créer des tableaux de bord
Dans Grafana, ajouter Prometheus comme source de données :
- URL :
http://prometheus-kube-prometheus-stack:9090
- Nom :
Prometheus
Importer des dashboards existants depuis https://grafana.com/dashboards (par ex. Kubernetes cluster monitoring).
Conclusion
Avec Prometheus et Grafana, vous disposez d’une solution complète pour :
- Surveiller la santé du cluster Kubernetes,
- Visualiser les métriques clés des pods, nodes et services,
- Être alerté en cas d’incident.
Un duo incontournable pour toute plateforme Kubernetes en production.