Dieses Kapitel erklärt Kubernetes-Kosten von innen: wie aus dem Stundenpreis eines Nodes der Preis eines Pods wird, warum ein Cluster auch ohne Last Geld kostet, und welche Entscheidungen im Cluster, nicht in der Cloud-Konsole, die Rechnung setzen. Die Cloud stellt einem Cluster nur drei Dinge in Rechnung: die Steuerungsebene, die Nodes und das, was an ihnen hängt, Datenträger, Load Balancer, Verkehr. Alles, was Teams wissen wollen, was ein Namespace, ein Deployment oder eine Umgebung kostet, muss aus diesen Posten erst errechnet werden, und dieses Kapitel beschreibt die Mechanik dahinter.

Was dieses Kapitel behandelt

Vier Seiten des Handbuchs behandeln Kubernetes bereits, jede mit einer eigenen Frage: was die Anbieter für Container und Kubernetes berechnen, wie Kubernetes-Kostendaten entstehen, wie die Zuordnung nach Namespace und Label funktioniert und wo die Effizienz eines Clusters verloren geht. Dieses Kapitel setzt zwischen diesen Seiten an, bei den Mechanismen, die sie voraussetzen: der Konvention, nach der ein Pod bepreist wird, dem Node-Pool als Abrechnungseinheit, den Autoscalern, die Nodes hinzufügen und entfernen, und den Kostenarten, die kein Workload trägt.

Fünf Abschnitte gliedern das Kapitel:

  • Was ein Pod kostet leitet den Preis eines Pods aus Requests, Limits und Nutzung her: die Konvention, nach der OpenCost und GKE Autopilot rechnen, die Gewichtung von CPU und Arbeitsspeicher im Node-Preis und die Lücke zwischen Request und Nutzung, die als Leerlauf übrig bleibt.
  • Nodes und Skalierung behandelt den Node-Pool und die Instanzwahl, Cluster Autoscaler und Karpenter, HPA, VPA und KEDA sowie Spot- und Preemptible-Nodes: die Entscheidungen, die bestimmen, wie viele Nodes welcher Art laufen und was sie je Stunde kosten.
  • Cluster-Overhead behandelt Leerlauf- und nicht zugeordnete Kosten sowie die gemeinsamen Kosten eines Clusters: Systemkomponenten, Agents, Steuerungsebene und freie Kapazität, und die drei Arten, sie auf Teams zu verteilen.
  • Speicher, Netzwerk und GPUs behandelt Persistent Volumes und Snapshots, Services, Load Balancer und Egress sowie GPU-Nodes und ihr Sharing: die Posten, die der Cluster außerhalb der Nodes erzeugt.
  • Über Cluster, Umgebungen und Anbieter hinweg vergleicht die Gebühren von EKS, AKS und GKE, rechnet die Fixkosten nicht-produktiver Cluster vor und beschreibt die Kapazitätsplanung mit Headroom, Commitments und Spot.

Jede Seite folgt dem Aufbau der Konzeptseiten: wie der Mechanismus funktioniert, mit Unterabschnitten je Anbieter nur dort, wo AWS, Azure und Google Cloud sich unterscheiden, was er für die Kosten bedeutet, wo es in der Praxis schiefgeht, und ein Beispiel, das aus einem veröffentlichten Listenpreis vorrechnet. Das Vokabular folgt der OpenCost-Spezifikation, die Asset-, Workload-, Idle- und Shared-Kosten definiert; die Seiten nennen sie mit Quelle.

Wichtige Begriffe

  • Node-Pool: die Gruppe von Nodes mit einem Maschinentyp und Skalierungsbereich; die Einheit, die die Cloud abrechnet.
  • Resource Requests: die CPU und der Arbeitsspeicher, die ein Pod anfordert; die Grundlage, nach der sein Anteil am Node-Preis berechnet wird.
  • Leerlaufkosten: bezahlte Kapazität, die kein Workload nutzt oder anfordert; im Cluster der Unterschied zwischen Node-Preis und der Summe der Pod-Kosten.
  • geteilte Kosten: Posten, die mehreren Teams dienen, von kube-system bis zur Clustergebühr, und nach einem Schlüssel verteilt werden.
  • nicht zugeordnete Kosten: der Rest, dem nach Zuordnung und Verteilung noch kein Verantwortlicher zugewiesen ist.
  • Spot-Kapazität: freie Kapazität des Anbieters zu einem schwankenden Preis, die jederzeit zurückgefordert werden kann; als Node-Pool ein Stellhebel mit Risiko.
  • Auto-Scaling: das automatische Anpassen von Kapazität an Last; im Cluster auf zwei Ebenen, Pods und Nodes, die zusammen über die Rechnung entscheiden.
  • Extended Support: der Aufschlag auf die Clustergebühr für eine Kubernetes-Version über das Ende der Standardunterstützung hinaus.
  • Kostenzuordnung: die Zuweisung von Kosten zu Teams, Produkten oder Umgebungen; im Cluster das Ergebnis der hier beschriebenen Mechanik.

Benachbarte Kapitel

„Was Cloud-Dienste kosten“ nennt die Preise, die die Anbieter für Steuerungsebene, Nodes und Pods verlangen; dieses Kapitel erklärt, was ein Team daraus macht. Die Seiten zu EKS, ECS und Fargate im Kapitel zu AWS tragen die Preisdimensionen und Usage Types, auf die die Vergleichsseite hier verweist. „Zuordnung und Verantwortung“ nimmt die Pod-Kosten, die hier hergeleitet werden, und ordnet sie Kostenstellen zu; „Optimierung und Einsparungen“ setzt bei Requests, Nodes und Leerlauf an, deren Mechanik hier steht. Die Daten, aus denen all das berechnet wird, beschreibt „Abrechnungsdaten und Standards“; Spot-Preise und Commitments als Kaufoptionen erklärt „Preismodelle und Commitments“ mit der Seite zu Spot Instances und präemptiver Kapazität. Was ein Agent im Cluster für das Kostenreporting liest, steht auf der Seite zur Kubernetes-Integration.