Kubecost
Overview
Kubecost, c'est la plateforme open-source de gestion des coûts pour Kubernetes qui pense que savoir combien coûte chaque pod, c'est important. Tu attribues, tu monitors, tu optimises les coûts des ressources Kubernetes. Visibilité complète sur les coûts par namespace, pod, service, deployment, et identification des opportunités d'optimisation. Si tu es dans Kubernetes et que tu veux savoir où part ton argent, c'est un choix naturel.
Kubecost collecte les métriques de ressources Kubernetes (CPU, mémoire, stockage, réseau) et les combine avec les prix des instances cloud pour calculer les coûts réels. Dashboard web, alertes de budget, recommandations d'optimisation, intégration avec Prometheus.
Kubecost se distingue par son focus Kubernetes (fait pour K8s), sa granularité fine (jusqu'au pod, tu sais tout), et ses fonctionnalités d'optimisation intégrées (il te dit comment économiser).
Informations essentielles
| Propriété | Valeur |
|---|---|
| Site officiel | https://www.kubecost.com/ |
| Repository | https://github.com/kubecost/cost-analyzer |
| Licence | Apache 2.0 (version open-source) |
| Langage | Go, JavaScript |
| Plateformes | Kubernetes (tous les providers) |
| Intégrations | Prometheus, Grafana, AWS, Azure, GCP |
Fonctionnalités principales
Attribution des coûts
- Attribution des coûts par namespace, pod, service, deployment
- Support des labels et annotations Kubernetes
- Allocation des coûts partagés (cluster, node)
- Coûts par équipe, projet, environnement
Monitoring et alerting
- Dashboard web en temps réel
- Alertes sur les dépassements de budget
- Notifications par email, Slack, webhook
- Historique des coûts et tendances
Optimisation
- Détection de ressources inutilisées ou surdimensionnées
- Recommandations de right-sizing
- Identification des pods avec requests/limits non optimisés
- Analyse des coûts de stockage
Multi-cloud
- Support AWS, Azure, GCP, on-premise
- Calcul automatique des coûts selon le provider
- Support des instances spot et réservées
- Intégration avec les APIs de pricing cloud
Cas d'usage
- Attribution des coûts : Savoir combien coûte chaque équipe/projet
- Optimisation : Identifier les ressources surdimensionnées
- Budgétisation : Définir et suivre les budgets par équipe
- Chargeback/Showback : Facturer ou présenter les coûts aux équipes
- Gouvernance : Mettre en place des politiques de coûts
Installation
Via Helm (recommandé)
helm repo add kubecost https://kubecost.github.io/cost-analyzer/
helm install kubecost kubecost/cost-analyzer \
--namespace kubecost \
--create-namespace
Via kubectl
kubectl apply -f https://raw.githubusercontent.com/kubecost/cost-analyzer-helm-chart/main/kubecost-cost-analyzer.yaml
Utilisation basique
Accès au dashboard
# Port-forward vers le service
kubectl port-forward --namespace kubecost service/kubecost-cost-analyzer 9090:9090
# Accéder à http://localhost:9090
Requêtes API
# Coûts par namespace
curl http://localhost:9090/model/allocation?window=7d.
# Coûts d'un namespace spécifique
curl http://localhost:9090/model/allocation?window=7d&aggregate=namespace&namespace=production
Avantages
- ✅ Open-source : version open-source complète et fonctionnelle, tu as tout ce qu'il faut
- ✅ Granularité fine : attribution jusqu'au niveau pod, tu sais tout ce qui coûte quoi
- ✅ Multi-cloud : support AWS, Azure, GCP, on-premise, tu choisis où tu es
- ✅ Intégration native : s'intègre avec Prometheus et Grafana, comme si c'était fait pour
- ✅ Optimisation intégrée : recommandations automatiques, il te dit comment économiser
Limitations
- Version open-source limitée comparée à la version enterprise : le modèle open-core classique
- Nécessite Prometheus pour fonctionner : il faut Prometheus installé, évidemment
- Consommation de ressources non négligeable sur le cluster : il faut de la RAM, du CPU, c'est le prix de la puissance
Alternatives
- OpenCost : Fork open-source de Kubecost
- Goldilocks : Outil de right-sizing Kubernetes
- Kube-downscaler : Mise à l'échelle automatique pour économiser
Ressources
- Documentation : https://docs.kubecost.com/
- GitHub : https://github.com/kubecost/cost-analyzer
- Slack communautaire : https://kubecost.slack.com