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.
- 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.
- 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:
| Kostenart | Was es ist |
|---|---|
| CPU | The cost of CPU the workload reserved (requested) or used, whichever is greater, at your cloud's price. |
| RAM | Das Gleiche gilt für das Gedächtnis. |
| Lagerung | Persistente Volumes (Festplatten), die die Arbeitslast beansprucht. |
| Netzwerk | Datenübertragung. Zonenübergreifender, regionsübergreifender und ausgehender Internetverkehr werden auf der Registerkarte „Netzwerkkosten“ aufgeteilt. |
| Load Balancer | Von Kubernetes-Diensten erstellte Load Balancer. |
| GPU | GPU-Zeit. Das GPU-Farbfeld ist ausgeblendet, es sei denn, für Ihre Daten fallen GPU-Kosten an. |
| Geteilt | Kosten 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. |
| Extern | Kosten außerhalb des Clusters, die OpenCost Workloads zuordnet (dies ist leer, es sei denn, Ihr OpenCost-Setup meldet es). |
| Leerlauf | Knotenkapazitä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).
| Tatsache | Was es für Sie bedeutet |
|---|---|
| Die Zahlen sind eine Hochrechnung der letzten Messung | Wenn 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 prognostiziert | Zu wenig Daten zum Projizieren, daher wird die Figur wie gesendet gespeichert. |
| Für Live-Zuweisungen | Die 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-Ebene | Bei 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 neu | steigt 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. |
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.
| Wolke | Wie 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 andere | In 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:
| Pille | eingereicht haben? Bedeutung |
|---|---|
| Mit Ihrer Rechnung abgeglichen | Every node was found in your billing data. Pod shares are scaled so they add up to the billed node cost. |
| Teilweise versöhnt | Some nodes were matched. Hover the pill to see how many matched and why the rest did not. |
| auf Geschätzter Listenpreis | No 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
| Kontrolle | Was es bewirkt | Optionen/Standard |
|---|---|---|
| Zuordnen nach | Chooses 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 |
| Cluster | Limits everything to one cluster. | All Clusters (default) or any connected cluster |
| 7D / 30D / MTD / 90D / 6M / Benutzerdefiniert | Sets 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 / GBP | Currency used to show money. | Your organisation's setting |
| Link kopieren | Copies a link that reproduces this exact view (tab, range, cluster, label key, filters) for anyone in your organisation. | - |
| CSV | Downloads the current table as a CSV file. | - |
| Telemetrie aktualisieren | Re-reads fresh data from CostGlass, ignoring the page's saved copy. | - |
| Nach Labelschlüssel gruppieren | Only on the Team / Label tab: which Kubernetes label to group cost by. | team (default), app, env, service, component |
| Filter ... Feld | Free-text filter on the table rows. | Placeholder is "Filter workloads..." or "Filter namespaces..." and so on |
| Alle Arten | angezeigt Nur auf der Registerkarte „Workload“: Zeigt nur Bereitstellungen, StatefulSets, DaemonSets, Jobs usw. an. | Alle Arten (Standard) |
| Zeilen pro Seite | Tabellenseitengröß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
| Card | Wie es funktioniert | Wie man es liest |
|---|---|---|
| Gesamtausgaben für Kubernetes | Sum 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ät | Idle 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-Score | The 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). |
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.
Anfrage vs. Nutzung und Slack
The right-hand card shows two bars, Compute CPU Allocation and Memory RAM Allocation, each split into three parts:
| Farbe | Teil | eingereicht haben? Bedeutung |
|---|---|---|
| Grün | Verwendet | Die Kapazität der Pods wird wirklich genutzt. |
| Blau | Kopffreiheit | Kapazitätspods reserviert, aber nicht genutzt. Die Kluft zwischen Anfrage und Nutzung. |
| Bernstein | Locker | Kapazität auf den Knoten, die kein Pod reserviert hat. Dies ist der Leerlaufanteil. |
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:
| Spalte | eingereicht haben? Bedeutung |
|---|---|
| # | Rank by cost. |
| Name | Der Namespace-, Workload-, Pod-, Cluster- oder Labelwert. |
| Kontext/Cluster | Wo es lebt: sein Cluster und, für Workloads und Pods, sein Namespace. |
| Art / Repliken | Nur Registerkarte „Workload“: Bereitstellung, StatefulSet, DaemonSet, Job und wie viele Replikate. |
| Knotenziel | Nur Pod-Registerkarte: der Knoten, auf dem der Pod ausgeführt wird. |
| Anteil der Ausgaben | Sein Prozentsatz am Gesamtwert für diese Ansicht, mit einem Balken. |
| Effizienz | Verwendet versus angefordert. Als Abzeichen angezeigt: Optimal ab 80 %, Mittelmäßig ab 60 %, Abfallwarnung unter 60 %. |
| Kosten | Seine 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:
| Artikel | Auswirkung 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 Pods | Abzüglich des 15-fachen Anteils der ausstehenden Pods |
| Knoten nicht bereit | Abzüglich des 25-fachen Anteils der Knoten, die nicht bereit sind |
| Letzte Neustarts | Abzüglich der Anzahl der letzten Container-Neustarts, bis zu 10 |
| Ausstehende Lageransprüche | Minus 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 sehen | Was es normalerweise bedeutet | Was zu tun |
|---|---|---|
| Hoher Leerlauf %, mit geringer Effizienz | Die 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 kostet | Es 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 weniger | Mö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 Knoten | aus 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 Tagen | Empfindlichkeit 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 Datenverkehr | Geschwä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 Neustarts | Pods 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. |
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
- Open Kubernetes Costs and choose Namespace under Allocate By. Set the range to MTD.
- 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.
- 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.
- 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.
- Wählen Sie die Registerkarte „Arbeitslast“ und sehen Sie sich die Spalte „Effizienz“ an. Klicken Sie sich durch, um die niedrigsten Werte anzuzeigen.
- Öffnen Sie die Registerkarte „Rightsizing“ für die CPU- und Speicheranforderung für die Nutzung dieser Arbeitslasten.
- Vergleichen Sie jeweils die Kostenlücke anhand der Spalte „Monatliche Ausgaben“ und beginnen Sie mit der größten.
- 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.
- Wählen Sie „Cluster“ und lesen Sie „Idle & Slack Capacity“ sowie die Effizienzbewertung.
- Öffnen Sie Cluster Assets, um die Knoten und deren Kosten anzuzeigen.
- 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.