Aller au contenu principal

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 officielhttps://www.kubecost.com/
Repositoryhttps://github.com/kubecost/cost-analyzer
LicenceApache 2.0 (version open-source)
LangageGo, JavaScript
PlateformesKubernetes (tous les providers)
IntégrationsPrometheus, 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