- Authors

- Name
- Phillip Pham
- @ddppham
Kubecost: Kubernetes-Kosten pro Team und Namespace analysieren
TL;DR
Kubecost zeigt Kubernetes-Kosten in Echtzeit pro Namespace, Label und Team. Die Installation erfolgt per Helm in unter fuenf Minuten. Efficiency Scoring deckt ueberdimensionierte Workloads auf. Budget-Alerts warnen automatisch bei Kostenueberschreitungen. Die Free-Version reicht fuer einzelne Cluster, Enterprise bietet Multi-Cluster-Support und SSO.
Warum Kubernetes-Kostenanalyse scheitert
In Kubernetes teilen sich Teams einen Cluster. Ein Node kostet 400 Euro pro Monat, aber darauf laufen Pods von sechs verschiedenen Namespaces. Wer zahlt wie viel?
# Typisches Szenario: 12 Nodes, 5 Teams, keine Zuordnung
kubectl get nodes --no-headers | wc -l
# 12
kubectl get namespaces --no-headers | wc -l
# 23
Ohne Tooling ist die Zuordnung unmoeglich. Kubecost loest dieses Problem, indem es Resource Requests, tatsaechliche Nutzung und Cloud-Preise kombiniert.
Kubecost per Helm installieren
Voraussetzung ist ein laufender Kubernetes-Cluster mit Helm 3.
# Helm-Repository hinzufuegen
helm repo add kubecost https://kubecost.github.io/cost-analyzer
helm repo update
# Kubecost installieren
helm install kubecost kubecost/cost-analyzer \
--namespace kubecost \
--create-namespace \
--set kubecostToken="dein-token-von-kubecost.com" \
--set prometheus.server.persistentVolume.size=32Gi \
--set prometheus.server.retention=45d
Nach der Installation:
# Pods pruefen
kubectl get pods -n kubecost
# UI per Port-Forward oeffnen
kubectl port-forward -n kubecost svc/kubecost-cost-analyzer 9090:9090
# Browser: http://localhost:9090
Kubecost bringt einen eigenen Prometheus mit. Falls bereits Prometheus im Cluster laeuft, kann Kubecost diesen nutzen:
helm install kubecost kubecost/cost-analyzer \
--namespace kubecost \
--create-namespace \
--set global.prometheus.fqdn="http://prometheus-server.monitoring:9090" \
--set global.prometheus.enabled=false
Kostenallokation: Namespace, Label, Team
Kubecost berechnet Kosten anhand von drei Faktoren: Resource Requests (was reserviert wurde), tatsaechliche Nutzung und Cloud-Preise pro Node-Typ.
Allokation per Namespace
Das Allocation-Dashboard zeigt sofort, welcher Namespace wie viel kostet. Die Ansicht laesst sich auf beliebige Zeitraeume filtern -- von einer Stunde bis zu 90 Tagen.
# Kubecost API: Kosten der letzten 7 Tage pro Namespace
curl -s "http://localhost:9090/model/allocation?window=7d&aggregate=namespace" | \
python3 -m json.tool
Allokation per Label
Die praezisere Methode ist die Zuordnung ueber Labels. Kubecost unterstuetzt beliebige Label-Keys:
# Deployment mit Team- und Cost-Center-Labels
apiVersion: apps/v1
kind: Deployment
metadata:
name: payment-service
namespace: production
spec:
replicas: 3
template:
metadata:
labels:
app: payment-service
team: payments
cost-center: cc-3100
spec:
containers:
- name: payment-service
image: registry.example.com/payment:v4.2.0
resources:
requests:
cpu: 250m
memory: 256Mi
limits:
cpu: 500m
memory: 512Mi
# Kosten nach Team-Label aggregieren
curl -s "http://localhost:9090/model/allocation?window=30d&aggregate=label:team"
# Kosten nach Cost-Center
curl -s "http://localhost:9090/model/allocation?window=30d&aggregate=label:cost-center"
In der Kubecost-UI lassen sich diese Aggregationen direkt im Dropdown auswaehlen, ohne API-Aufrufe.
Efficiency Scoring: Verschwendung erkennen
Das Efficiency Scoring ist eine der staerksten Kubecost-Funktionen. Es vergleicht reservierte Ressourcen (Requests) mit der tatsaechlichen Nutzung und berechnet einen Prozentwert.
| Efficiency Score | Bedeutung | Handlung |
|---|---|---|
| 90-100% | Optimal dimensioniert | Keine Aenderung noetig |
| 60-90% | Leichte Ueberdimensionierung | Requests anpassen |
| 30-60% | Deutliche Verschwendung | Dringend optimieren |
| Unter 30% | Massive Verschwendung | Requests und Replicas reduzieren |
Ein typischer Cluster hat eine Gesamt-Efficiency von 30-50%. Das bedeutet: Die Haelfte der bezahlten Kapazitaet wird nicht genutzt.
# Savings-Empfehlungen abrufen
curl -s "http://localhost:9090/model/savings" | python3 -m json.tool
# Container-Rightsizing-Empfehlungen
curl -s "http://localhost:9090/model/savings/requestSizing?window=7d"
Kubecost zeigt konkrete Empfehlungen: Welche Deployments koennen ihre CPU-Requests von 1000m auf 200m reduzieren, weil die tatsaechliche Nutzung bei 150m liegt.
Budget-Alerts konfigurieren
Kubecost kann bei Budgetueberschreitungen per E-Mail, Slack oder Webhook warnen.
# kubecost-alerts.yaml (als Helm Values)
kubecostProductConfigs:
alertConfigs:
enabled: true
alerts:
- type: budget
threshold: 500
window: 30d
aggregation: namespace
filter: "production"
ownerContact:
- "team-platform@example.com"
- "slack:#kubernetes-costs"
- type: efficiency
threshold: 0.4
window: 7d
aggregation: namespace
ownerContact:
- "team-leads@example.com"
- type: spendChange
relativeThreshold: 0.3
window: 7d
baselineWindow: 30d
aggregation: cluster
ownerContact:
- "finops@example.com"
# Alert-Konfiguration anwenden
helm upgrade kubecost kubecost/cost-analyzer \
--namespace kubecost \
-f kubecost-alerts.yaml
Der spendChange-Alert ist besonders nuetzlich: Er warnt, wenn die Ausgaben der letzten Woche 30% ueber dem 30-Tage-Durchschnitt liegen.
Dashboard-Interpretation
Das Kubecost-Dashboard gliedert sich in vier Hauptbereiche:
Allocation: Kostenaufschluesselung nach Namespace, Label, Controller oder Service. Zeigt CPU-, RAM-, Storage- und Network-Kosten separat. Idle Costs werden anteilig auf Namespaces verteilt.
Savings: Konkrete Einsparempfehlungen mit geschaetztem Euro-Betrag. Rightsizing-Vorschlaege fuer ueberdimensionierte Container, ungenutzte Persistent Volumes und verwaiste Load Balancer.
Health: Cluster-Gesundheit und Reliability-Score. Warnt vor fehlenden Resource Requests, Single-Replica-Deployments und Pods ohne PodDisruptionBudget.
Reports: Automatisierte Showback-Reports, die per E-Mail oder Slack versendet werden koennen. Konfigurierbar auf Team- oder Namespace-Ebene.
Kubecost Free vs. Enterprise
| Feature | Free | Enterprise |
|---|---|---|
| Kostenallokation | Ja (1 Cluster) | Ja (Multi-Cluster) |
| Efficiency Scoring | Ja | Ja |
| Savings-Empfehlungen | Begrenzt | Vollstaendig |
| Datenretention | 15 Tage | Unbegrenzt |
| SSO/SAML | Nein | Ja |
| RBAC fuer Dashboard | Nein | Ja |
| Slack/Teams-Alerts | Begrenzt | Vollstaendig |
| Support | Community | Kommerziell |
Fuer einzelne Cluster reicht die Free-Version. Enterprise lohnt sich ab drei Clustern oder wenn RBAC-basierte Reports und SSO benoetigt werden.
Einen Vergleich mit der Open-Source-Alternative finden Sie in unserem OpenCost FinOps Guide.
FAQ
Wie unterscheidet sich Kubecost von OpenCost?
OpenCost ist das Open-Source-Kernprojekt (CNCF Sandbox), auf dem Kubecost aufbaut. Kubecost ergaenzt Enterprise-Features wie Multi-Cluster-Support, SSO, laengere Datenretention und automatische Savings-Empfehlungen.
Bringt Kubecost einen eigenen Prometheus mit?
Ja, Kubecost installiert standardmaessig einen eigenen Prometheus. Optional kann ein bestehender Prometheus genutzt werden, was Ressourcen spart und doppelte Datenerhebung vermeidet.
Wie genau sind die Kostenberechnungen?
Kubecost nutzt die tatsaechlichen Cloud-Preise ueber die Billing-APIs von AWS, Azure und GCP. Fuer On-Prem-Cluster lassen sich Custom-Preise pro CPU-Stunde und GB-RAM konfigurieren. Die Genauigkeit liegt typischerweise bei 95-98%.
Kann Kubecost auch Network-Kosten berechnen?
Ja, ab der Enterprise-Version werden Egress-Kosten zwischen Availability Zones und Regionen erfasst. Dafuer wird ein Network-Cost-DaemonSet deployed, der den tatsaechlichen Traffic misst.
Wie viel Ressourcen verbraucht Kubecost selbst?
Die Free-Version benoetigt ca. 500m CPU und 1 GB RAM (inklusive eigenem Prometheus). Ohne eigenen Prometheus sinkt der Verbrauch auf ca. 200m CPU und 512 MB RAM.
Verwandte Artikel
- OpenCost: Kubernetes-Kosten pro Team aufschlüsseln
- Kubernetes Resource Management
- Kubernetes Monitoring und Observability
- Kubernetes Monitoring Kosten senken
Kubernetes-Expertise gesucht?
Managed Services, Beratung, Training oder Security – wir unterstützen deutsche Unternehmen bei allen Kubernetes-Themen.
Kubernetes-Beratung gesucht?
Wir helfen deutschen Unternehmen bei der Kubernetes-Implementierung, Migration und Optimierung. DSGVO-konform und praxiserprobt.
📖 Verwandte Artikel
Weitere interessante Beiträge zu ähnlichen Themen
FinOps für Kubernetes: Kosten kontrollieren und optimieren
FinOps-Strategien für Kubernetes: Kostentransparenz mit Kubecost und OpenCost, Showback/Chargeback-Modelle, Right-Sizing und Spot-Instance-Strategien.
Showback und Chargeback: Kubernetes-Kosten zuordnen
Kubernetes-Kosten fair zuordnen mit Showback und Chargeback: Label-Konventionen, Shared-Cost-Verteilung und Reporting mit Kubecost und OpenCost.
Kubernetes Kosten pro Namespace mit OpenCost berechnen
Kubernetes-Kosten pro Namespace berechnen mit OpenCost: Installation, Konfiguration, Grafana-Dashboards und Cost-Allocation-Reports. Praxis-Guide für FinOps-Teams.
Kubernetes Monitoring-Kosten um 60% senken
Kubernetes-Monitoring-Kosten mit Prometheus statt Datadog um 60% senken durch Retention-Optimierung, Downsampling und Alert-Fatigue-Reduktion.
OpenCost: Kubernetes-Kosten pro Team aufschlüsseln
Mit OpenCost Kubernetes-Kosten pro Team transparent machen: Helm-Installation, Prometheus-Integration und Grafana-Showback-Dashboards.