OpenCost vs. Kubecost: Kubernetes-Kostenkontrolle im Vergleich 2026

Kubernetes macht es einfach, viele Workloads zu betreiben – aber es macht es schwer, deren Kosten zu verstehen. Auf einem gemeinsamen Cluster teilen sich Dutzende Teams dieselben Nodes, und am Ende des Monats ist unklar, welches Team wie viel verursacht hat. Genau hier setzen OpenCost und Kubecost an: Beide Tools messen Kubernetes-Cloud-Kosten auf Namespace- und Pod-Ebene, bieten Showback- und Chargeback-Reports und helfen FinOps-Teams dabei, Cloud-Budgets in den Griff zu bekommen.

Dieser Vergleich zeigt, wann OpenCost als schlankes CNCF-Projekt ausreicht und wann Kubecost mit seiner Enterprise-Plattform mehr Mehrwert bietet.


Was ist OpenCost?

OpenCost ist ein Open-Source-Projekt der Cloud Native Computing Foundation (CNCF), das 2022 von Kubecost-Entwicklern als eigenständiges Projekt ausgegliedert wurde. Es implementiert die OpenCost-Spezifikation, einen offenen Standard zur Kostenmessung in Kubernetes-Umgebungen.

OpenCost läuft als leichtgewichtiger Exporter im Cluster und stellt Kosten-Metriken über eine Prometheus-kompatible API bereit. Es ist der "Messkern" ohne UI – gedacht für Teams, die ihre eigene Visualisierungsschicht (z.B. Grafana) betreiben.

Kernfunktionen von OpenCost

  • Pod-Level Kostenzuordnung: Kosten pro Namespace, Deployment, Service, Label
  • Cloud-Provider-Integration: AWS, GCP, Azure – on-demand Preislisten werden automatisch geladen
  • Prometheus-Metriken: Alle Kostendaten als Prometheus-Metriken verfügbar
  • OpenCost UI: Optionale einfache Web-UI für grundlegende Ansichten
  • Kubernetes-nativ: Läuft als Deployment, keine externen Abhängigkeiten
  • CNCF Sandbox-Projekt: Aktive Community, offene Governance
# OpenCost Installation via Helm
helm repo add opencost https://opencost.github.io/opencost-helm-chart
helm install opencost opencost/opencost \
  --namespace opencost \
  --create-namespace \
  --set opencost.exporter.defaultClusterId=production \
  --set opencost.prometheus.external.enabled=true \
  --set opencost.prometheus.external.url=http://prometheus.example.com:9090

Was ist Kubecost?

Kubecost ist die kommerzielle Plattform, aus der OpenCost entstanden ist. Sie bietet neben der reinen Kostenmessung umfangreiche Features für Kostenoptimierung, Budgetverwaltung und Multi-Cluster-Management.

Kubecost gibt es in drei Varianten: Free (für einen Cluster, 15 Tage Historie), Business und Enterprise (mit Support, SSO, unlimitierter Retention). Die Free-Version ist funktional, schlägt aber nach 15 Tagen mit eingeschränkten historischen Daten an.

Kernfunktionen von Kubecost

  • Vollständige UI: Detaillierte Dashboards für Teams, Projekte, Namespaces
  • Savings-Engine: Automatische Empfehlungen für Right-Sizing, Idle-Kosten, Spot-Migration
  • Budget- und Alert-Management: Schwellwerte pro Namespace, E-Mail/Slack-Alerts
  • Multi-Cluster-Support: Zentrale Ansicht über alle Cluster (Business+)
  • Network Cost Monitoring: Egress-Kosten zwischen Namespaces und Availability Zones
  • Anomaly Detection: KI-gestützte Erkennung von Kostenausreißern
  • RBAC-Integration: Teamspezifische Ansichten via Kubernetes RBAC
# Kubecost Installation via Helm
helm repo add kubecost https://kubecost.github.io/cost-analyzer/
helm install kubecost kubecost/cost-analyzer \
  --namespace kubecost \
  --create-namespace \
  --set kubecostToken="<your-token>" \
  --set global.prometheus.fqdn=http://prometheus.example.com:9090

OpenCost vs. Kubecost: Direkter Vergleich

Kriterium OpenCost Kubecost Free Kubecost Business
Preis Kostenlos (CNCF) Kostenlos Ab ~$1.999/Monat
Retention Unbegrenzt (Prometheus) 15 Tage Unbegrenzt
Multi-Cluster Manuell (Prometheus Federation) Nein Ja
Savings-Empfehlungen Nein Begrenzt Ja (vollständig)
Budget Alerts Über Prometheus Alertmanager Begrenzt Ja
Network Costs Nein Nein Ja
UI Einfach Vollständig Vollständig
Anomaly Detection Nein Nein Ja
RBAC/SSO Nein Nein Ja
Support Community Community Enterprise

Architektur: Wie sie Kosten messen

Beide Tools verwenden ähnliche Methoden:

  1. Node-Kosten: Über Cloud-Provider-APIs oder Spot-Preislisten wird der Stunden-Preis pro Node ermittelt
  2. Pod-Zuordnung: Via Kubernetes-Metriken (kube-state-metrics, cAdvisor) werden CPU/RAM pro Pod gemessen
  3. Proportion: Pod-Kosten = (Pod-Ressourcenverbrauch / Node-Kapazität) × Node-Kosten
  4. Speicher: PVC-Kosten werden über Storage-Class-Preise ermittelt

OpenCost implementiert dabei die offizielle OpenCost-Spezifikation und berechnet:

Pod CPU-Kosten = avg(CPU requests) × CPU-Stunden-Preis
Pod RAM-Kosten = avg(RAM requests) × RAM-GB-Stunden-Preis

Nicht requestete Ressourcen ("Idle") werden auf Basis der tatsächlichen Node-Auslastung anteilig zugerechnet.


Kostenoptimierung: Wo Kubecost vorne liegt

Ein entscheidender Unterschied: Kubecost ist nicht nur ein Messwerkzeug, sondern eine Optimierungsplattform. Die Savings Engine analysiert kontinuierlich:

Right-Sizing-Empfehlungen

Namespace: production
Deployment: api-server
Aktuelle Requests: 2 CPU / 4 GB RAM
Empfehlung: 0.8 CPU / 2 GB RAM
Potenzielle Ersparnis: $340/Monat

Idle-Ressourcen

Ungenutzte Node-Kapazität kostet Geld. Kubecost erkennt, welche Namespaces unverhältnismäßig viel Idle verursachen.

Spot-Instance-Empfehlungen

Für unterbrechbare Workloads schlägt Kubecost vor, welche Deployments auf Spot-Nodes migriert werden können – mit Einsparungspotenzial bis 70%.

OpenCost bietet diese Features nicht; wer sie braucht, muss sie selbst mit Prometheus-Regeln und Grafana bauen.


Prometheus-Integration: OpenCosts Stärke

OpenCost ist vollständig Prometheus-nativ. Alle Metriken werden im opencost_*-Format exponiert:

# Prometheus Scrape-Konfiguration
scrape_configs:
  - job_name: opencost
    scrape_interval: 1m
    static_configs:
      - targets: ['opencost.opencost.svc.cluster.local:9003']

Das bedeutet: Wer bereits Prometheus und Grafana betreibt, kann OpenCost nahtlos integrieren. Das offizielle Grafana-Dashboard zeigt Kosten nach Namespace, Controller-Typ und Label.

Kubecost hingegen betreibt eine eigene Prometheus-Instanz (oder nutzt eine externe) und hat eine stärker integrierte Architektur – was mehr Flexibilität, aber auch mehr Komplexität bedeutet.


Multi-Cluster-Kosten: Kubecost Business ist klar vorne

In Unternehmen mit mehreren Kubernetes-Clustern ist die zentrale Kostensicht entscheidend. Kubecost Business bietet ein dediziertes Aggregations-Backend, das Kosten aus allen Clustern zusammenführt.

Mit OpenCost ist Multi-Cluster nur über Prometheus-Federation möglich – was zwar machbar ist, aber manuellen Aufwand erfordert:

# Prometheus Federation für Multi-Cluster OpenCost
scrape_configs:
  - job_name: federate-opencost-cluster2
    honor_labels: true
    metrics_path: /federate
    params:
      match[]:
        - '{job="opencost"}'
    static_configs:
      - targets: ['prometheus-cluster2.example.com:9090']

Wann OpenCost reicht

OpenCost ist die richtige Wahl, wenn:

  • Budget knapp ist und keine Enterprise-Features benötigt werden
  • Prometheus bereits vorhanden ist und in die bestehende Observability-Plattform integriert werden soll
  • Ein einzelner Cluster oder wenige Cluster mit manuellem Multi-Cluster-Setup verwaltet werden
  • Compliance/Datenschutz erfordern, dass keine Daten die eigene Infrastruktur verlassen
  • Das Team selbst visualisieren möchte und Grafana-Dashboards bevorzugt

Wann Kubecost sinnvoll ist

Kubecost lohnt sich, wenn:

  • Viele Teams auf einem Cluster arbeiten und Showback/Chargeback wichtig ist
  • Automatische Optimierungsempfehlungen gewünscht sind (Right-Sizing, Spot)
  • Budget-Alerts ohne eigene Prometheus-Regel-Konfiguration benötigt werden
  • Netzwerkkosten zwischen Namespaces relevant sind
  • Ein Unternehmens-Cluster mit vielen Stakeholdern betrieben wird

Installation auf dem Homelab-Cluster

Für ein typisches Homelab-Setup mit k3s oder MicroK8s reicht OpenCost vollständig aus:

# Voraussetzung: Prometheus läuft im Cluster
# OpenCost deployen
kubectl apply --server-side -f \
  https://raw.githubusercontent.com/opencost/opencost/develop/kubernetes/opencost.yaml

# Port-Forward für UI
kubectl port-forward svc/opencost 9090:9090 -n opencost

# API-Test
curl http://localhost:9090/model/allocation?window=7d&aggregate=namespace | python3 -m json.tool

Fazit: Das richtige Tool für die richtige Situation

OpenCost ist der richtige Einstieg für selbst gehostete Kubernetes-Umgebungen: kostenlos, CNCF-backed, Prometheus-nativ und ausreichend für grundlegende Kostentransparenz. Wer bereits Grafana betreibt, hat in wenigen Minuten ein vollständiges Kosten-Dashboard.

Kubecost ist die vollständige FinOps-Plattform für Unternehmen, die mehr als nur Messwerte brauchen: Optimierungsempfehlungen, Multi-Cluster-Übersichten und Budget-Management rechtfertigen die Kosten ab einem gewissen Cluster-Komplexitätsgrad.

Für die meisten Self-Hoster und kleinen Teams ist OpenCost + Grafana die beste Wahl. Für Platform-Engineering-Teams in größeren Organisationen ist Kubecost sein Geld wert.

Weiterführende Artikel

Verwandte Technologien im Techradar