Seite „Kubernetes-Kosten“

Understand cluster, namespace, workload and pod costs, idle capacity, rightsizing, carbon and health.

Seite „Kubernetes-Kosten“

Sehen Sie, was jeder Cluster, Namespace, Workload und Pod kostet, wie viel davon im Leerlauf ist und wo die Anfragen größer sind als die tatsächliche Nutzung.

Where in CostGlassCosts → Kubernetes Costs
PlanGrowth and above (visible but greyed out on lower plans)
Who can do thisEveryone in the organisation can view it
Time needed20 minutes to read, then use it as a reference
Kurz und bündig
  • Kubernetes-Kosten sind Teil Ihrer Cloud-Rechnung: Sie zeigen, wer innerhalb des Clusters was nutzt, und werden nicht zu Ihren gesamten Cloud-Ausgaben hinzugerechnet.
  • Bei den Zahlen handelt es sich um eine monatliche Run-Rate, die aus dem letzten Push prognostiziert wird (ca. 15 Minuten Messung), nicht um die gemessenen Ausgaben eines Monats. Sie verschieben sich, wenn sich Ihre Arbeitsbelastung ändert.
  • Die Leerlaufkosten sind der Preis der Knotenkapazität, die kein Pod angefordert hat. Die Effizienz vergleicht den Verbrauch der Pods mit dem, was sie benötigen.
  • Eleven tabs under "Allocate By" change how the same data is grouped: Namespace, Workload, Pod / Container, Cluster, Team / Label, Cluster Assets, Cost By Type, Rightsizing, Network Costs, Carbon and Health.
  • Verwenden Sie es, um übergroße Anfragen, leere Knotenkapazitäten und die Namespaces zu finden, die den Teams in Rechnung gestellt werden sollten.
Bevor Sie beginnen
  • Mindestens ein Cluster ist verbunden und überträgt Daten: Verbinden Sie einen Kubernetes-Cluster.
  • Ein Plan, der Kubernetes-Kosten beinhaltet (Wachstum oder höher).
  • Für die Registerkarte „Gesundheit“ der optionale schreibgeschützte RBAC aus dem Installationsmanifest. Für die Registerkarte „Carbon“ wurde OpenCost mit der Carbon-Option installiert.

Was OpenCost misst

OpenCost überwacht den Cluster und berechnet Preise für die Nutzung der einzelnen Workloads. Die Seite kann diese Kostenarten anzeigen; Jedes ist ein Feld, das OpenCost selbst meldet, und keines davon wird von CostGlass geschätzt:

KostenartWas es ist
CPUThe cost of CPU the workload reserved (requested) or used, whichever is greater, at your cloud's price.
RAMDas Gleiche gilt für das Gedächtnis.
LagerungPersistente Volumes (Festplatten), die die Arbeitslast beansprucht.
NetzwerkDatenübertragung. Zonenübergreifender, regionsübergreifender und ausgehender Internetverkehr werden auf der Registerkarte „Netzwerkkosten“ aufgeteilt.
Load BalancerVon Kubernetes-Diensten erstellte Load Balancer.
GPUGPU-Zeit. Das GPU-Farbfeld ist ausgeblendet, es sei denn, für Ihre Daten fallen GPU-Kosten an.
GeteiltKosten für gemeinsam genutzte Dienste, die OpenCost auf die Arbeitslasten verteilt. Der Exporter behandelt die Namespaces kube-system, istio-system und Monitoring als gemeinsam genutzt.
ExternKosten außerhalb des Clusters, die OpenCost Workloads zuordnet (dies ist leer, es sei denn, Ihr OpenCost-Setup meldet es).
LeerlaufKnotenkapazität, die keine Arbeitslast beansprucht hat.

OpenCost meldet außerdem für jede Arbeitslast, wie viel CPU und Arbeitsspeicher sie angefordert und wie viel es tatsächlich verwendet durchschnittlich. Dieses Paar macht die Größenanpassung möglich.

Namensraum
Eine benannte Gruppe innerhalb eines Clusters, oft eine pro Team, Produkt oder Umgebung.
Arbeitsbelastung
Eine laufende Anwendung, die von Kubernetes verwaltet wird: eine Bereitstellung, ein StatefulSet, ein DaemonSet oder ein Job.
Hülse
Die kleinste laufende Einheit: ein oder mehrere Container, die gemeinsam auf einem Knoten laufen. Eine Arbeitslast führt einen oder mehrere Pods aus.
Knoten
Eine Maschine (virtuell oder physisch), auf der die Pods laufen. Das ist es, was Ihnen Ihre Cloud in Rechnung stellt.
Anfrage
Die Menge an CPU oder Arbeitsspeicher, die Kubernetes für einen Pod reservieren muss. Reservierte Kapazität wird unabhängig davon vergütet, ob sie genutzt wird oder nicht.
Leerlauf / locker
Kapazität auf den Knoten, die kein Pod angefordert hat.

Warum Zahlen eine monatliche Run-Rate sind und was das bedeutet

OpenCost meldet jeden Kostenwert für die gemessenen Minuten, normalerweise in einem 15-Minuten-Schritt. Der Exporter sendet alle 15 Minuten eine neue Messung und jeder Push ersetzt den vorherigen. Wenn CostGlass diese Rohzahl anzeigen würde, wäre sie etwa 2.900-mal zu klein, also prognostiziert CostGlass sie: Es führt die Arbeitsbelastung über die gemessenen Zeitfenster hinweg zusammen und skaliert die Kosten auf einen Monat (730 Stunden).

TatsacheWas es für Sie bedeutet
Die Zahlen sind eine Hochrechnung der letzten MessungWenn in den letzten 15 Minuten etwas ungewöhnlich beschäftigt oder ruhig ist, verschiebt sich die Projektion für den gesamten Monat mit. Schauen Sie sich Trends über mehrere Tage an, bevor Sie eine Entscheidung treffen.
Ein Push von weniger als 5 Minuten Daten wird nicht prognostiziertZu wenig Daten zum Projizieren, daher wird die Figur wie gesendet gespeichert.
Für Live-ZuweisungenDie Tabellen auf der Seite zeigen den neuesten Schnappschuss. Jeder Push ersetzt den vorherigen, daher gibt es in CostGlass keinen Pro-Pod-Verlauf.
Der tägliche Verlauf wird auf Namespace-EbeneBei jedem Push wird außerdem eine tägliche Kostenzeile pro Namespace geschrieben, wobei der Run-Rate-Tag verwendet wird, plus eine für die Leerkapazität, wenn die Knotenpreise bekannt sind. Diese speisen das Trenddiagramm.
Die Zeitbereichsschaltflächen skalieren die aktuelle Laufrate neusteigt Die Zusammenfassungs- und Tabellenzahlen verwenden die letzte monatliche Laufrate multipliziert mit der Länge des Bereichs dividiert durch 30 Tage (z. B. 7D ist 7/30 eines Monats, 90D sind drei Monate). Es handelt sich dabei nicht um Summen tatsächlicher Ausgaben in der Vergangenheit.
angezeigt Betrachten Sie dies als Orientierungshilfe, wo die Kosten liegen, nicht als Rechnung
The page tells you how a cluster's cost is shared between teams and where waste sits. Für den Betrag, der Ihnen tatsächlich in Rechnung gestellt wurde, verwenden Sie Kosten-Explorer auf Ihrem Cloud-Konto.

Knotenpreise, Leerlaufkosten und Abstimmung mit Ihrer Rechnung

OpenCost's pod figures only cover what pods requested. Um zu zeigen, was die Maschinen kosten (und was also im Leerlauf ist), berechnet CostGlass jeden Worker-Knoten, wann immer es möglich ist.

WolkeWie Knoten bepreist werden
AWS (EKS)From CostGlass's approximate list-price table for the instance type.
Azure (AKS)From CostGlass's approximate pay-as-you-go price table for the VM size.
Linode (LKE)From Linode's own published plan prices.
Google Cloud, Oracle, DigitalOcean und andereIn CostGlass gibt es keine Knotenpreisquelle, daher werden für Knoten keine Preise berechnet.

Alles oder nichts. Der Cluster wird nur dann anhand seiner Knoten bewertet, wenn für jeden Knoten ein Preis festgelegt werden kann. Wenn auch nur ein Knoten dies nicht kann, bleibt der Cluster auf dem „Pod-Preis“: Die Gesamtsumme entspricht genau dem, was OpenCost den Pods zugewiesen hat, und der Leerlaufwert wird nicht aus den Knotenpreisen neu erstellt. CostGlass schätzt keinen Knotenpreis.

When all nodes are priced: cluster cost is the sum of node prices; each node's idle cost is its price minus the pods scheduled on it (never below zero); and the cluster efficiency is cost not idle divided by cost.

Versöhnung: die farbige Pille unter dem Einleitungstext

Wenn Ihre Cloud-Abrechnungsdaten verknüpft sind, vergleicht CostGlass die Kubernetes-Knotenzahlen mit den tatsächlichen Gebühren der Cloud für diese Knoten. Jeder Cluster erhält eine Pille:

Pilleeingereicht haben? Bedeutung
Mit Ihrer Rechnung abgeglichenEvery node was found in your billing data. Pod shares are scaled so they add up to the billed node cost.
Teilweise versöhntSome nodes were matched. Hover the pill to see how many matched and why the rest did not.
auf Geschätzter ListenpreisNo matching bill data yet, or the cloud does not support matching. The numbers are list-price estimates and the pill says why.

Der AWS-Abgleich verwendet EC2-Instanz-IDs in Ihren Abrechnungsdaten (CUR mit Ressourcen-IDs). Es gibt auch einen Azure-, Google Cloud-, Oracle- und Alibaba-Abgleich, der jedoch auf der Grundlage von Dokumentation und Beispieldaten geschrieben wurde und nicht mit einem echten Export aus diesen Clouds verglichen wurde. Sie können daher bis zum Nachweis mit „Geschätzt zum Listenpreis“ rechnen. Linode und DigitalOcean bleiben immer zum Listenpreis. Die Abrechnungsdaten liegen normalerweise etwa einen Tag zurück. Der Abgleich erfolgt automatisch nach jedem Push; Besitzer und Administratoren können es auch über die API auslösen.

Seitenlayout und Steuerelemente

Kubernetes-Kosten: KPI-Karten, die Registerkarten und Steuerelemente „Zuordnen nach“, das Ausgabenverlaufsdiagramm und die Kostenaufschlüsselungstabelle.

From top to bottom: the header (with Ask CostGlass AI, the connection status and Refresh Telemetry), a one-line reminder that Kubernetes costs are an allocation, a reconciliation pill per cluster, four KPI cards, the controls card, the spend trajectory chart, rightsizing and slack cards, and the main table for the selected tab.

Steuerreferenz

KontrolleWas es bewirktOptionen/Standard
Zuordnen nachChooses how the chart and table are grouped and which view is shown.Namespace (default), Workload, Pod / Container, Cluster, Team / Label, Cluster Assets, Cost By Type, Rightsizing, Network Costs, Carbon, Health
ClusterLimits everything to one cluster.All Clusters (default) or any connected cluster
7D / 30D / MTD / 90D / 6M / BenutzerdefiniertSets the time range used to scale the figures and to draw the chart.MTD (month to date) by default. Custom shows From and To date boxes and an Apply Range button, with Reset to go back.
USD / EUR / GBPCurrency used to show money.Your organisation's setting
Link kopierenCopies a link that reproduces this exact view (tab, range, cluster, label key, filters) for anyone in your organisation.-
CSVDownloads the current table as a CSV file.-
Telemetrie aktualisierenRe-reads fresh data from CostGlass, ignoring the page's saved copy.-
Nach Labelschlüssel gruppierenOnly on the Team / Label tab: which Kubernetes label to group cost by.team (default), app, env, service, component
Filter ... FeldFree-text filter on the table rows.Placeholder is "Filter workloads..." or "Filter namespaces..." and so on
Alle Artenangezeigt Nur auf der Registerkarte „Workload“: Zeigt nur Bereitstellungen, StatefulSets, DaemonSets, Jobs usw. an.Alle Arten (Standard)
Zeilen pro SeiteTabellenseitengröße.10, 15, 25, 50, 100
Diagrammtyp-UmschalterÄndert das Flugbahndiagramm.Gestapelte Balken (Standard), Linien, Teilen (Baumkarte)
OpenCost Agent / Config verbindenÖffnet das Verbindungsfenster mit den Installationsbefehlen. Nachdem ein Cluster verbunden wurde, wird er als „Config“ angezeigt.-

Kopie gespeichert und aktualisiert

Um ein schnelles Laden zu gewährleisten, speichert die Seite das letzte Ergebnis jeder Ansicht 15 Minuten lang in Ihrem Browser. Die Seite fragt außerdem den browserweiten Cache bis zu einer Stunde lang nach Ergebnissen ab. „Telemetrie aktualisieren“ überspringt beides und ruft neue Daten ab. Die Liste der verbundenen Cluster wird immer aktuell gelesen. Neue Daten aus dem Cluster kommen ohnehin höchstens alle 15 Minuten an, daher werden bei einer häufigeren Aktualisierung dieselben Zahlen angezeigt.

Die vier KPI-Karten

CardWie es funktioniertWie man es liest
Gesamtausgaben für KubernetesSum of each cluster's monthly run-rate, scaled to the selected range. Die folgende Zeile zeigt die Anzahl der Cluster und Knoten (beschriftet mit EC2-Knoten, AKS-Knoten, GKE-Knoten usw. nach Anbieter).Ihre Containerkosten werden gemessen. Es handelt sich um eine Zuweisung, die nicht zu Ihren gesamten Cloud-Ausgaben hinzugerechnet wird.
Zugewiesene Ausgaben (Anfragen)Total spend minus idle spend. The line below shows the percentage "guaranteed to pods".Capacity that pods have reserved. High is good: capacity you pay for is claimed.
Leerlauf- und LeerlaufkapazitätIdle cost summed from the namespace rows, with a percentage of the total.Capacity nobody has claimed. This is the first place to look for savings.
Cluster-Effizienz-ScoreThe average of each cluster's efficiency, shown in green from 80%, amber from 60%, red below. The line below shows "+£x/mo savings found", which is 65% of idle cost.Höher ist besser. Bei der Einsparzahl handelt es sich um eine Planungszahl: Etwas Spielraum sollte immer vorhanden sein. Für Cluster ohne Effizienzdaten wird es nicht angezeigt (ein fehlender Wert wird als 75 behandelt).
Hinweis
The AI Advisor link on the efficiency card opens CostGlass AI, which can explain these figures using your page's data.

Das Ausgabenverlaufsdiagramm

The chart title follows your tab, for example Namespace Spend Trajectory. Es werden tägliche Balken (oder monatliche Balken für lange Bereiche) angezeigt, aufgeteilt nach der von Ihnen ausgewählten Gruppierung, die aus dem täglichen Verlauf stammt, den CostGlass aufgezeichnet hat. Klicken Sie auf ein Legendenelement, um es zu fokussieren, und auf Auswahl löschen, um zurückzugehen. Wechseln Sie zu „Linien“, um Trends zu vergleichen, oder „Teilen“ (Baumkarte), um Proportionen auf einen Blick zu sehen.

Tipp
Wenn das Diagramm leer ist, war der Cluster wahrscheinlich schon länger als einen Tag nicht verbunden. Der Text unter der Tabelle sagt es so. Die folgende Tabelle ist noch live.

Anfrage vs. Nutzung und Slack

The right-hand card shows two bars, Compute CPU Allocation and Memory RAM Allocation, each split into three parts:

FarbeTeileingereicht haben? Bedeutung
GrünVerwendetDie Kapazität der Pods wird wirklich genutzt.
BlauKopffreiheitKapazitätspods reserviert, aber nicht genutzt. Die Kluft zwischen Anfrage und Nutzung.
BernsteinLockerKapazität auf den Knoten, die kein Pod reserviert hat. Dies ist der Leerlaufanteil.
Diese Balken sind eine visuelle Zusammenfassung
Der Slack-Anteil ist real (er ergibt sich aus dem ungenutzten Anteil der Ausgaben). Der genutzte Teil wird anhand der Effizienzbewertung für die Anzeige skaliert. Verwenden Sie daher die Registerkarte „Rightsizing“ für tatsächliche Anforderungs- und Nutzungszahlen pro Workload.

Unterhalb der Balken zeigt ... / Monat in Cluster Slack die Leerlaufkosten an, mit Hinweisen, die zu Ihrer Cloud passen (z. B. Karpenter-Konsolidierung oder Spot-Instanzen auf AWS, Cluster Autoscaler auf AKS, GKE und LKE).

The left card, Workload Rightsizing Recommendations, lists workloads whose efficiency is under 60% and whose idle cost is at least $2 a month. Jedes zeigt die Arbeitslast, den Namespace, den Cluster, die geschätzte monatliche Einsparung (entspricht den Leerlaufkosten, einer Obergrenze), den Grund und die aktuelle CPU-Anforderung. Sein Quick Apply-Tag ist nur eine Bezeichnung: CostGlass ändert niemals Ihren Cluster.

Die Registerkarten „Zuordnen nach“

Namespace, Workload, Pod/Container, Cluster, Team/Label

These five tabs show the main table, Cost Breakdown by ..., with these columns:

Spalteeingereicht haben? Bedeutung
#Rank by cost.
NameDer Namespace-, Workload-, Pod-, Cluster- oder Labelwert.
Kontext/ClusterWo es lebt: sein Cluster und, für Workloads und Pods, sein Namespace.
Art / ReplikenNur Registerkarte „Workload“: Bereitstellung, StatefulSet, DaemonSet, Job und wie viele Replikate.
KnotenzielNur Pod-Registerkarte: der Knoten, auf dem der Pod ausgeführt wird.
Anteil der AusgabenSein Prozentsatz am Gesamtwert für diese Ansicht, mit einem Balken.
EffizienzVerwendet versus angefordert. Als Abzeichen angezeigt: Optimal ab 80 %, Mittelmäßig ab 60 %, Abfallwarnung unter 60 %.
KostenSeine monatliche Laufrate (für den ausgewählten Bereich).

Team / Label Gruppen nach einem von Ihnen gewählten Kubernetes-Label. Die angebotenen Bezeichnungsschlüssel sind Team, App, Umgebung, Service und Komponente. Die Kosten unter einem Labelwert sind nur so gut wie Ihre Etikettierung: Alles ohne Label wird separat gruppiert. The exporter sends the app, env Und Team labels, so those three are the ones most likely to have data.

Cluster-Assets

Shows Infrastructure Assets Breakdown: summary tiles (Total Asset Spend, Compute Nodes, Provider & Region, Cluster Efficiency) and a table withComponent Kind, Name / Identifier, Cluster, Specification / Details, State, Cost Basis and Monthly Cost. In dieser Ansicht werden die Knotenpreise und die Kontrollebene angezeigt. Die Spalte „Kostenbasis“ gibt an, wie jeder Preis ermittelt wurde, beispielsweise eine Listenpreistabelle.

Kosten nach Typ

Teilt die Kosten in CPU, RAM, Speicher, Netzwerk, Load Balancer, GPU, Gemeinsam genutzt, Extern und Leerlauf auf, gruppiert nach Namespace, Workload oder Cluster (Schalter oben auf der Karte). Eine Null ist eine echte Null, kein fehlender Wert. Verwenden Sie es, um zu sehen, ob die Kosten durch Rechenleistung, Speicher oder etwas Unerwartetes wie Load Balancer bestimmt werden.

Rightsizing (Ressourcenanpassung)

Request vs Usage (Rightsizing) shows, per workload, CPU Request / Usage and Memory Request / Usage next to Monthly Spend, with a filter box. Usage is OpenCost's average over its measured window, so it appears only once Prometheus has collected enough history. Wenn für einen Workload nichts angezeigt wird, wurde die Nutzung noch nicht gemeldet. Die Seite erfindet keine Figur. AI Rightsizing Insights bittet CostGlass AI, die Tabelle zu überprüfen.

Netzwerkkosten

Splits network cost into Cross-Zone, Cross-Region, Internet Egress and Other. OpenCost meldet diese nur, wenn die Netzwerkkostenzuteilung in OpenCost in Ihrem Cluster aktiviert ist. Dies ist eine Einstellung in Ihrer OpenCost-Bereitstellung, die CostGlass nicht für Sie ändern kann. Daher ist die Registerkarte möglicherweise leer, bis Sie sie aktivieren. Zonenübergreifender und ausgehender Datenverkehr ist häufig mit versteckten Kosten verbunden: Dienste, die über Verfügbarkeitszonen hinweg kommunizieren, können näher zusammenrücken.

Kohlenstoff

Kohlenstoffemissionen zeigt Kilogramm CO2e an. It comes from OpenCost's own carbon estimates (which use Cloud Carbon Footprint coefficients for your cloud, region and instance type), not a CostGlass estimate. OpenCost meldet den CO2-Ausstoß pro Maschine und Festplatte, sodass CostGlass ihn für jeden Cluster summiert. Es gibt keinen Namespace oder Pod-Split.

  • Der Exporteur misst ein einstündiges Fenster. Der prognostizierte monatliche CO2e-Wert ist der Stundenwert multipliziert (täglich ist stündlich mal 24, monatlich ist mal 720). Es handelt sich um eine Prognose, nicht um eine gemessene Gesamtsumme.
  • A cluster that has never reported carbon shows not reported, never 0. Das bedeutet, dass OpenCost keine CO2-Daten dafür hat, normalerweise weil die CO2-Option nicht aktiviert war.
  • Das kleine Balkendiagramm „Täglicher CO2e-Trend (projiziert)“ zeigt den Verlauf dieser Prognosen.

Gesundheit

Cluster Health verwendet ein direktes Lesen der Kubernetes-API (aus diesem Grund ist die optionale RBAC erforderlich), da Kostendaten nichts über die Pod-Gesundheit aussagen. Jeder Cluster erhält mithilfe einer veröffentlichten Formel eine Punktzahl von 100:

ArtikelAuswirkung auf die Punktzahl
Ausgefallene Pods (einschließlich Pods, die in CrashLoopBackOff oder ImagePullBackOff hängen geblieben sind)Abzüglich des 50-fachen Anteils ausgefallener Pods
Ausstehende PodsAbzüglich des 15-fachen Anteils der ausstehenden Pods
Knoten nicht bereitAbzüglich des 25-fachen Anteils der Knoten, die nicht bereit sind
Letzte NeustartsAbzüglich der Anzahl der letzten Container-Neustarts, bis zu 10
Ausstehende LageransprücheMinus 2 für jeden, bis zu 10

Die Gesamtpunktzahl ist der Durchschnitt der gemeldeten Cluster. Farben: Grün ab 90, Bernstein ab 70, unten Rot. In jeder Clusterzeile werden die Pods „Gesund“, „Ausgefallen“, „Ausstehend“, „Knoten bereit“, „Neustarts“ und „Ausstehende Speicheransprüche“ angezeigt. Kubernetes speichert nur eine laufende Gesamtzahl der Neustarts, daher stellen die letzten Neustarts den Anstieg seit dem vorherigen Push dar (niemals negativ; ein neu erstellter Pod setzt seinen eigenen Zähler zurück).

Entscheidungen auf der Seite treffen

Was Sie sehenWas es normalerweise bedeutetWas zu tun
Hoher Leerlauf %, mit geringer EffizienzDie Knoten sind größer oder zahlreicher, als die Pods benötigen.Reduzieren Sie die Anzahl oder Größe der Knoten, verwenden Sie einen Cluster-Autoscaler oder ein Konsolidierungstool und ziehen Sie Spot- oder präemptive Kapazität für tolerante Arbeitslasten in Betracht.
Eine Arbeitslast mit großem Headroom (Anfrage weit über der Nutzung)Wünsche wurden großzügig gestellt und nie bearbeitet.Reduzieren Sie auf der Registerkarte „Rightsizing“ die CPU- und Speicheranforderungen Schritt für Schritt auf die tatsächliche Nutzung zuzüglich einer Sicherheitsmarge und achten Sie auf Drosselung oder Neustarts aufgrund von Speichermangel.
Effizienz unter 60 % bei einem Arbeitsaufwand, der wenig kostetEs ist Ihre Zeit nicht wert.Sortieren Sie nach Kosten und berücksichtigen Sie zuerst die größten Leerlaufkosten.
Eine Arbeitslast mit einer Effizienz von 10 % oder wenigerMöglicherweise aufgegeben oder nicht mehr benötigt.Wenden Sie sich an den Eigentümer und entfernen Sie es, wenn es nicht benötigt wird. CostGlass markiert diese unter „Einsparungen“.
Viele halbleere Knotenaus Der Scheduler kann Pods nicht eng packen (Spread-Regeln, große Anfragen).Schauen Sie sich Bin-Packing an: kleinere Anfragen, weniger Spread-Einschränkungen oder unterschiedliche Knotengrößen.
Verbringen Sie diese Sprünge zwischen den TagenEmpfindlichkeit gegenüber der Ausführungsrate, ein Skalierungsereignis oder eine Bereitstellung.Vergleichen Sie die Tage in der Tabelle, bevor Sie zum Schluss kommen. Verwenden Sie den Cost Explorer und die Anomalieseite für tatsächlich abgerechnete Änderungen.
Kosten für zonenübergreifenden oder ausgehenden DatenverkehrGeschwätzige Dienste sind über Zonen oder Regionen verteilt.Platzieren Sie zugehörige Dienste in der gleichen Zone, wo die Zuverlässigkeit dies zulässt.
Gesundheitswert sinkt, viele NeustartsPods stürzen ab, Knoten sind nicht bereit oder Speicher ist nicht bindend.Untersuchen Sie mit kubectl, bevor Sie Ressourcen kürzen: Passen Sie die Größe ungesunder Arbeitslasten nicht an.
Tipp
Reduzieren Sie Anfragen nicht nur durch die Betrachtung eines 15-minütigen Schnappschusses. Überprüfen Sie die Nutzung über einen gesamten Geschäftszyklus (mindestens eine Woche), bevor Sie eine Anfrage reduzieren.

Budgets, Einsparungen und Berichte

  • Budgets. You can create a budget for Kubernetes (OpenCost), scoped to all clusters or one cluster, and optionally one namespace. OpenCost überschreibt seine Zahlen bei jedem Push, daher gibt es keine Gesamtsumme für den laufenden Monat. Das Budget wird daher anhand des prognostizierten Monats beurteilt und auf der Karte steht „Nachverfolgt auf der prognostizierten Run-Rate“. Sehen Budgets.
  • Ersparnisse. The savings page can list Kubernetes recommendations built only from OpenCost's own figures: workloads at or below 10% efficiency (saving is the whole workload cost), over-requesting workloads (saving is the reported idle cost, an upper bound), and cluster slack (an estimate that assumes half of the slack can be reclaimed, stated on the card). gefaltet Kubernetes-Einsparungen werden mit der Host-Cloud-Rechnung gruppiert, sodass dasselbe Geld nicht doppelt gezählt wird. Sehen Einsparungen.
  • Berichte.Berichte can group by Kubernetes Namespace (OpenCost) and has an Include Kubernetes OpenCost Allocations switch. Dabei wird nur der neueste Snapshot gelesen, es gibt also keinen vorherigen Zeitraum zum Vergleichen. Gespeicherte Filter gelten nicht für Kubernetes-Namespace-Zuweisungen.

Ausgearbeitete Rezepte

Cluster-Kosten nach Namespace an Teams zurückverrechnen
  1. Open Kubernetes Costs and choose Namespace under Allocate By. Set the range to MTD.
  2. Schauen Sie sich die Versöhnungspille an. If it says Reconciled to your bill, shares are scaled to what the cloud billed for the nodes. Ansonsten handelt es sich um Listenpreisschätzungen.
  3. Beachten Sie, dass Idle keinem Team gehört. Decide a policy: spread it in proportion to each team's share, or keep it as a platform cost.
  4. Klicken Sie auf CSV und senden Sie die Tabelle an die Finanzabteilung. Für einen wiederholbaren Bericht verwenden Sie Berichte mit der Kubernetes-Namespace-Gruppierung.

Denken Sie daran, dass es sich bei den Zahlen um Richtwerte handelt. Zahlen zum Monatsende, die mit einer Rechnung verknüpft sein müssen, basieren auf Ihrer Cloud-Rechnung.

Finden Sie die verschwenderischste Arbeitslast
  1. Wählen Sie die Registerkarte „Arbeitslast“ und sehen Sie sich die Spalte „Effizienz“ an. Klicken Sie sich durch, um die niedrigsten Werte anzuzeigen.
  2. Öffnen Sie die Registerkarte „Rightsizing“ für die CPU- und Speicheranforderung für die Nutzung dieser Arbeitslasten.
  3. Vergleichen Sie jeweils die Kostenlücke anhand der Spalte „Monatliche Ausgaben“ und beginnen Sie mit der größten.
  4. Reduzieren Sie die Anforderungen für die Nutzung plus einer Marge, stellen Sie sie erneut bereit und prüfen Sie sie dann nach einer Woche erneut.
Ist der Cluster zu groß?
  1. Wählen Sie „Cluster“ und lesen Sie „Idle & Slack Capacity“ sowie die Effizienzbewertung.
  2. Öffnen Sie Cluster Assets, um die Knoten und deren Kosten anzuzeigen.
  3. Wenn der Leerlauf groß und stabil ist, entfernen Sie Knoten oder ändern Sie ihre Größe. Wenn es einem täglichen Muster folgt, verwenden Sie Autoscaling.

Ehrliche Grenzen

  • Bei den Zahlen handelt es sich um eine monatliche Run-Rate, die auf einer etwa 15-minütigen Messung basiert, nicht auf gemessenen monatlichen Ausgaben.
  • Live-Zuteilungen sind eine Momentaufnahme. In CostGlass gibt es keinen Pro-Pod-Verlauf. Es sind nur die tägliche Namespace-Ebene und der Leerlaufverlauf vorhanden.
  • Knotenpreise gibt es nur für AWS, Azure und Linode. Für Google Cloud, Oracle und andere werden für Knoten keine Preise berechnet und für Cluster werden Pod-Preise berechnet (kein knotenbasierter Leerlauf).
  • Die Preise für AWS- und Azure-Knoten stammen aus ungefähren produktinternen Tabellen und nicht aus Ihren tatsächlichen Tarifen (Reservierungen, Sparpläne und Rabatte werden nicht angewendet, es sei denn, der Cluster wird abgeglichen).
  • Der Abgleich mit der Rechnung wird für AWS getestet; Für Azure, Google Cloud, Oracle und Alibaba wurde dies nicht anhand realer Exporte bestätigt, und Linode und DigitalOcean werden nicht abgeglichen.
  • Kohlenstoff ist eine Projektion aus einem einstündigen Fenster. Es wird nur pro Cluster gemeldet.
  • Die Netzwerkkosten hängen von einer Einstellung in Ihrer OpenCost-Bereitstellung ab. Nutzungszahlen benötigen Prometheus-Geschichte.
  • Health benötigt den optionalen schreibgeschützten RBAC.
  • CostGlass liest und berichtet. Es ändert nie Ihren Cluster.

Häufig gestellte Fragen

Warum unterscheidet sich mein Kubernetes-Gesamtbetrag von meiner Cloud-Rechnung?
Kubernetes-Zahlen sind eine Aufteilung der Rechnung anhand von Listenpreisen und einem kurzen Messfenster. Sie werden nicht zu Ihren Gesamtausgaben addiert und stimmen erst dann mit Ihrer Rechnung überein, wenn der Cluster abgeglichen wird.
Warum zeigt MTD dieselbe Zahl wie 30D an?
Beide skalieren die aktuelle monatliche Laufrate: MTD verwendet einen Monat und 30D verwendet 30 Tage dividiert durch 30, sodass sie gleich sind. Die Diagramme verwenden den Tagesverlauf und unterscheiden sich.
Why is a cluster's idle cost zero or missing?
Die ungenutzte Kapazität wird aus den Knotenpreisen gebildet. Wenn für einen Knoten kein Preis berechnet werden kann (z. B. bei Google Cloud oder Oracle), bleibt der Cluster auf dem Pod-Preis, und es wird kein knotenbasierter Leerlauf berechnet.
Warum zeigt Rightsizing keine Nutzung an?
OpenCost meldet die Nutzung erst, wenn Prometheus genügend Verlauf abgekratzt hat. Warten Sie nach der Installation eine Weile und überprüfen Sie, ob Prometheus fehlerfrei ist.
Why is Carbon "not reported"?
OpenCost hat für diesen Cluster keine CO2-Daten gesendet. Installieren oder aktualisieren Sie OpenCost mit der Carbon-Option und wenden Sie das Manifest erneut an.
Ändert Quick Apply meinen Cluster?
Nein. Es ist ein Etikett. Änderungsanfragen werden von Ihrem Team in Ihren eigenen Manifesten oder Pipelines durchgeführt.
Can I see a single pod's cost history?
Nein. Für Pods wird nur der neueste Snapshot aufbewahrt. Der Tagesverlauf existiert auf Namespace-Ebene.
Wer kann diese Seite sehen?
Jeder in Ihrer Organisation hat einen Wachstumsplan oder einen höheren Plan. Kubernetes-Zahlen gelten für die gesamte Organisation: Sie werden nicht durch Organisationshierarchiebereiche eingeschränkt.

Verwandte Anleitungen