Auf dieser Seite wird erläutert, wie Sie mit der GKE-Nutzungsmessung die Nutzungsprofile von GKE-Clustern (Google Kubernetes Engine) feststellen und die Nutzung einzelnen Teams oder Geschäftseinheiten innerhalb Ihres Unternehmens zuordnen können. Die GKE-Nutzungsmessung hat keinen Einfluss auf die Abrechnung Ihres Projekts. Sie bietet Ihnen einen detaillierten Einblick in die Ressourcennutzung.
Übersicht
Die GKE-Nutzungsmessung erfasst Informationen über die Ressourcenanforderungen und die tatsächliche Ressourcennutzung der Arbeitslasten Ihres Clusters. Derzeit werden mit der GKE-Nutzungsmessung Informationen zur CPU, GPU, TPU, zum Arbeitsspeicher, Speicher und optional zum ausgehenden Netzwerktraffic erfasst. Sie können die Ressourcennutzung nach Kubernetes-Namespaces, -Labels oder einer Kombination aus beiden aufschlüsseln.
Die Daten werden in BigQuery gespeichert, wo Sie sie direkt abfragen oder mit externen Tools wie Looker Studio zur Analyse exportieren können.
Die GKE-Nutzungsmessung ist für folgende Szenarien hilfreich:
- Erfassen der Ressourcenanforderungen und des tatsächlichen Ressourcenverbrauchs pro Mandant in einem Mehrmandantencluster, in dem jeder Mandant innerhalb eines bestimmten Namespace ausgeführt wird.
- Bestimmen des Ressourcenverbrauchs einer Arbeitslast, die in einem bestimmten Cluster ausgeführt wird. Dabei wird den Kubernetes-Objekten, die der Arbeitslast zugeordnet sind, ein eindeutiges Label zugewiesen.
- Ermitteln von Arbeitslasten, deren Ressourcenanforderungen erheblich von ihrem tatsächlichen Ressourcenverbrauch abweichen, damit Sie Ressourcen für jede Arbeitslast effizienter zuweisen können.
Hinweis
Führen Sie die folgenden Schritte durch, bevor Sie beginnen:
- Aktivieren Sie die Google Kubernetes Engine API. Google Kubernetes Engine API aktivieren
- Wenn Sie die Google Cloud CLI für diese Aufgabe verwenden möchten, müssen Sie die gcloud CLI installieren und dann initialisieren. Wenn Sie die gcloud CLI bereits installiert haben, rufen Sie die neueste Version mit
gcloud components update
ab.
Beschränkungen
Sie können mit den BigQuery-Beispielabfragen und der Looker Studio-Vorlage GKE-Nutzungsmessdaten mit exportierten Google Cloud-Abrechnungsdaten in BigQuery verknüpfen. Damit lassen sich dann die geschätzten Kosten nach Cluster, Namespace und Labels aufschlüsseln.
GKE-Nutzungsmessdaten dienen lediglich als Richtwert und wirken sich nicht auf Ihre Google Cloud-Rechnung aus. Die tatsächlichen Abrechnungsdaten werden ausschließlich in Ihrer Google Cloud-Abrechnung aufgeführt.
Es gelten folgende Einschränkungen:
- Vertragliche Sondervergünstigungen oder Gutschriften werden nicht berücksichtigt.
- Ressourcen, die nicht in GKE erstellt wurden, werden nicht nach Namespace oder Label erfasst.
- Für die Nutzungsberichte werden nur Labels von Pod- und PersistentVolumeClaim-Objekten erfasst.
- Nur dynamisch bereitgestellte PersistentVolumes werden unterstützt.
- Nur pd-standard- und pd-ssd-Laufwerkstypen werden unterstützt. Die GKE-Nutzungsmessung kann Kosten für regionale Versionen beider Laufwerkstypen unter derselben SKU enthalten.
- In Looker Studio wird die Visualisierung von Bursting-Maschinentypen nicht unterstützt.
- Sie können nur Daten in ein BigQuery-Dataset exportieren, das sich im selben Projekt wie Ihr Cluster befindet.
- Sie dürfen die Ports 27304, 47082 und 47083 nicht verwenden, da diese Ports für das Tracking des ausgehenden Netzwerktraffics reserviert sind.
- Benutzerdefinierte
StorageClass
-Objekte werden nicht unterstützt. - Das Messen von ausgehendem Netzwerk-Traffic wird für Windows Server-Knoten nicht unterstützt.
- Das Messen von ausgehendem Netzwerk-Traffic wird für freigegebenes VPC-Peering und VPC-Netzwerk-Peering nicht unterstützt.
- Das Messen von ausgehendem Netzwerk-Traffic wird für Cluster mit mehr als 150 Knoten nicht unterstützt.
Vorbereitung
Bevor Sie die GKE-Nutzungsmessung verwenden können, müssen folgende Voraussetzungen erfüllt sein:
- Zur Erfassung des tatsächlichen Ressourcenverbrauchs muss der Cluster GKE 1.14.2-gke.3 oder höher verwenden.
- Wenn Sie E2- oder N2-Maschinentypen verwenden, muss die Clusterversion GKE 1.15.11-gke.9 oder höher sein.
- Abrechnungsexport für BigQuery ist aktiviert. Gebühren fallen im Zusammenhang mit der BigQuery-Nutzung an.
- Version 250.0.0 oder höher des Befehls
gcloud
ist erforderlich. Prüfen Sie dies mitgcloud --version
. - Sie müssen in Ihrem Google Cloud-Projekt die BigQuery API aktivieren. Wenn Sie GKE erst nach Juli 2018 aktiviert haben, ist die API bereits aktiviert.
GKE-Nutzungsmessung aktivieren
Zum Aktivieren der GKE-Nutzungsmessung müssen Sie zuerst ein BigQuery-Dataset für einen einzelnen Cluster, für mehrere Cluster im Projekt oder für das gesamte Projekt erstellen. Weitere Informationen zur Auswahl einer Zuordnung zwischen Datasets und Clustern finden Sie unter Ein oder mehrere BigQuery-Datasets auswählen.
Als Nächstes aktivieren Sie die GKE-Nutzungsmessung beim Erstellen eines neuen Clusters oder durch Ändern eines vorhandenen Clusters.
Optional können Sie ein Looker Studio-Dashboard erstellen, um die Ressourcennutzung Ihrer Cluster zu visualisieren.
BigQuery-Dataset erstellen
Zur Verwendung der GKE-Nutzungsmessung für Cluster in Ihrem Google Cloud-Projekt erstellen Sie zuerst das BigQuery-Dataset und konfigurieren dann Cluster für seine Verwendung. Sie können ein einzelnes BigQuery-Dataset verwenden, um Informationen zur Ressourcennutzung für mehrere Cluster im selben Projekt zu speichern.
Weitere Informationen finden Sie unter Datasets erstellen. Sie legen die Option Default table expiration
für das Dataset auf Never
fest, damit die Tabelle nicht abläuft. Wenn eine Tabelle abläuft, wird sie automatisch als leere Tabelle neu erstellt.
GKE-Nutzungsmessung für einen Cluster aktivieren
Sie können die GKE-Nutzungsmessung für einen neuen oder einen vorhandenen Cluster aktivieren. Dazu verwenden Sie entweder den Befehl gcloud
oder die Google Cloud Console.
Mit der GKE-Nutzungsmessung wird standardmäßig auch die Messung des Ressourcenverbrauchs aktiviert. Wie Sie die Messung des Ressourcenverbrauchs selektiv deaktivieren und dabei Ressourcenanforderungen weiterhin erfassen, erfahren Sie in der entsprechenden Anleitung zum Aktivieren der GKE-Nutzungsmessung mithilfe des Befehls gcloud
in diesem Thema.
Die Messung des ausgehenden Netzwerktraffics ist standardmäßig deaktiviert. Informationen zum Aktivieren finden Sie in den Vorbehalten und Anleitungen unter Optional: Messung des ausgehenden Netzwerktraffics aktivieren in diesem Thema.
Neuen Cluster erstellen
Sie können einen Cluster mit der gcloud CLI oder der Google Cloud Console erstellen.
gcloud
Mit dem folgenden Befehl erstellen Sie einen Cluster mit aktivierter GKE-Nutzungsmessung:
gcloud container clusters create CLUSTER_NAME \
--resource-usage-bigquery-dataset RESOURCE_USAGE_DATASET
Dabei gilt:
CLUSTER_NAME
: der Name Ihres GKE-Clusters.RESOURCE_USAGE_DATASET
: der Name Ihres BigQuery-Datasets.
Die Messung des Ressourcenverbrauchs ist standardmäßig aktiviert. Wenn Sie sie deaktivieren und nur Ressourcenanforderungen erfassen möchten, fügen Sie dem vorherigen Befehl das Flag --no-enable-resource-consumption-
metering
hinzu. Sie müssen auch die Beispielabfragen im Rest dieses Themas ändern, damit sie nicht nach Ressourcenverbrauch abfragen.
Bei Bedarf werden beim Starten des Clusters die erforderlichen Tabellen im BigQuery-Dataset erstellt.
Console
So erstellen Sie einen Cluster mit aktivierter GKE-Nutzungsmessung:
Rufen Sie in der Google Cloud Console die Seite Google Kubernetes Engine auf.
Klicken Sie auf add_box Erstellen.
Klicken Sie im Navigationsbereich unter Cluster auf Features.
Wählen Sie GKE-Nutzungsmessung aktivieren aus.
Geben Sie den Namen Ihres BigQuery-Datasets ein.
Wählen Sie optional Messung des ausgehenden Netzwerktraffics aktivieren aus, nachdem Sie die Vorbehalte und Anweisungen in Optional: Messung des ausgehenden Netzwerktraffics aktivieren gelesen haben.
Fahren Sie mit der Konfiguration des Clusters fort und klicken Sie dann auf Erstellen.
Vorhandenen Cluster konfigurieren
gcloud
Mit dem folgenden Befehl aktivieren Sie die GKE-Nutzungsmessung in einem vorhandenen Cluster:
gcloud container clusters update CLUSTER_NAME \
--resource-usage-bigquery-dataset RESOURCE_USAGE_DATASET
Die Messung des Ressourcenverbrauchs ist standardmäßig aktiviert. Wenn Sie sie deaktivieren und nur Ressourcenanforderungen erfassen möchten, fügen Sie dem vorherigen Befehl das Flag --no-enable-resource-consumption-
metering
hinzu. Sie müssen auch die Beispielabfragen im Rest dieses Themas ändern, damit sie nicht nach Ressourcenverbrauch abfragen.
Sie können auch das Dataset ändern, in dem ein vorhandener Cluster Nutzungsmessdaten speichert. Dazu ändern Sie den Wert des Flags --resource-usage-bigquery-dataset
.
Bei Bedarf wird beim Starten des Clusters eine Tabelle im BigQuery-Dataset erstellt.
Console
Rufen Sie in der Google Cloud Console die Seite Google Kubernetes Engine auf:
Klicken Sie neben dem Cluster, den Sie bearbeiten möchten, auf more_vert Aktionen und dann auf edit Bearbeiten.
Klicken Sie unter Features neben GKE-Nutzungsmessung auf edit Bearbeiten.
Wählen Sie GKE-Nutzungsmessung aktivieren aus.
Geben Sie den Namen des BigQuery-Datasets ein.
Wählen Sie optional Messung des ausgehenden Netzwerktraffics aktivieren aus, nachdem Sie die Vorbehalte und Anweisungen in Optional: Messung des ausgehenden Netzwerktraffics aktivieren gelesen haben.
Klicken Sie auf Änderungen speichern.
Optional: Messung des ausgehenden Netzwerk-Traffics aktivieren
Standardmäßig werden ausgehende Netzwerktrafficdaten weder erfasst noch exportiert. Zum Messen des ausgehenden Netzwerktraffics muss auf jedem Knoten ein Network Metering Agent (NMA) ausgeführt werden. Der NMA wird als privilegierter Pod ausgeführt, nutzt Ressourcen auf dem Knoten (CPU, Arbeitsspeicher und Speicherplatz) und aktiviert das Flag nf_conntrack_acct sysctl im Kernel zur Ablaufprüfung bei der Verbindungsüberwachung.
Für die Erfassung des ausgehenden Netzwerktraffics zur Verwendung mit der GKE-Nutzungsmessung muss dies berücksichtigt werden. Zur Aktivierung der Erfassung des ausgehenden Netzwerktraffics fügen Sie beim Erstellen oder Aktualisieren Ihres Clusters die Option --enable-network-egress-metering
hinzu oder wählen Messung des ausgehenden Netzwerktraffics aktivieren aus, wenn Sie die GKE-Nutzungsmessung in der Google Cloud Console aktivieren.
Um die Messung des ausgehenden Netzwerktraffics zu deaktivieren, fügen Sie das Flag --no-enable-network-egress-metering
hinzu, wenn Sie den Cluster über die Befehlszeile aktualisieren. Alternativ können Sie die Messung des ausgehenden Netzwerktraffics aktivieren.
Aktivierung der GKE-Nutzungsmessung prüfen
Mit dem folgenden Befehl können Sie prüfen, ob die Nutzungsmessung in einem Cluster aktiviert wurde und in welchem BigQuery-Dataset die Ressourcennutzungsdaten des Clusters gespeichert sind:
gcloud container clusters describe CLUSTER_NAME \
--format="value(resourceUsageExportConfig)"
Die Ausgabe ist leer, wenn die GKE-Nutzungsmessung nicht aktiviert ist. Andernfalls wird das vom Cluster verwendete BigQuery-Dataset wie in der folgenden Beispielausgabe angezeigt:
bigqueryDestination={u'datasetId': u'test_usage_metering_dataset'}
Ein oder mehrere BigQuery-Datasets auswählen
Ein Dataset kann GKE-Nutzungsmessdaten für einen oder mehrere Cluster in Ihrem Projekt speichern. Ob Sie ein oder mehrere Datasets verwenden, hängt von Ihren Sicherheitsanforderungen ab:
- Ein einziges Dataset für das gesamte Projekt vereinfacht die Verwaltung.
- Mit einem Dataset pro Cluster können Sie den detaillierten Zugriff auf die Datasets delegieren.
- Ein Dataset pro zusammenhängender Clustergruppe bietet die richtige Kombination aus Einfachheit und Detaillierungsgrad für Ihre Anforderungen.
GKE-Nutzungsmessdaten mit einem Looker Studio-Dashboard visualisieren
Sie können GKE-Nutzungsmessdaten mit einem Looker Studio-Dashboard visualisieren. Auf diese Weise können Sie Ihre Daten nach Clustername, Namespace oder Label filtern. Sie können den Berichtszeitraum auch dynamisch anpassen. Wenn Sie Erfahrung mit Looker Studio und BigQuery haben, können Sie ein benutzerdefiniertes Dashboard erstellen. Sie können auch ein Dashboard klonen, das wir speziell für die GKE-Nutzungsmessung erstellt haben.
Sie können das Dashboard verwenden, um Ressourcenanforderungen und -verbrauch in Ihren Clustern im Zeitverlauf zu visualisieren.
Vorbereitung
Aktivieren Sie den Export von Google Cloud-Abrechnungsdaten in BigQuery, wenn die Funktion noch nicht aktiviert ist.
Während dieses Vorgangs erstellen Sie ein Dataset. Es kann aber bis zu fünf Stunden dauern, bis die Tabelle innerhalb des Datasets angezeigt und ausgefüllt wird. Wenn die Tabelle angezeigt wird, lautet ihr Name
gcp_billing_export_v1_BILLING_ACCOUNT_ID
.Aktivieren Sie die GKE-Nutzungsmessung für mindestens einen Cluster im Projekt. Notieren Sie sich den Namen, den Sie für das BigQuery-Dataset ausgewählt haben.
Aktivieren Sie Looker Studio, falls es noch nicht aktiviert ist.
Erfassen Sie die folgenden Informationen, die zur Konfiguration des Dashboards erforderlich sind:
- Dataset-ID und Datentabelle für den Cloud Billing-Export
- Dataset-ID der GKE-Nutzungsmessung
Sie benötigen die Version 2.0.58 oder höher der BigQuery-Befehlszeile. Führen Sie
bq version
zum Prüfen der Version undgcloud components update
zum Aktualisieren der BigQuery-Befehlszeile aus.Die Befehle in diesem Abschnitt sollten in einem Linux-Terminal oder in Cloud Shell ausgeführt werden.
BigQuery-Kostenaufschlüsselungstabelle erstellen
Laden Sie eine der folgenden Abfragevorlagen herunter:
- Wenn Sie die Messung des Ressourcenverbrauchs aktiviert haben, laden Sie
this template
herunter. - Wenn Sie die Messung des Ressourcenverbrauchs nicht aktiviert haben, laden Sie
this template
herunter.
Wenn Sie Cloud Shell verwenden, kopieren Sie diese Datei in das Verzeichnis, in dem Sie die folgenden Befehle ausführen.
- Wenn Sie die Messung des Ressourcenverbrauchs aktiviert haben, laden Sie
Führen Sie den folgenden Befehl aus, um Umgebungsvariablen festzulegen:
export GCP_BILLING_EXPORT_TABLE_FULL_PATH=YOUR_BILLING_EXPORT_TABLE_PATH export USAGE_METERING_PROJECT_ID=YOUR_USAGE_METERING_PROJECT_ID export USAGE_METERING_DATASET_ID=YOUR_USAGE_METERING_DATASET_ID export USAGE_METERING_START_DATE=YOUR_USAGE_METERING_START_DATE export COST_BREAKDOWN_TABLE_ID=YOUR_COST_BREAKDOWN_TABLE_ID export USAGE_METERING_QUERY_TEMPLATE=YOUR_TEMPLATE_PATH export USAGE_METERING_QUERY=YOUR_RENDERED_QUERY_PATH
Dabei gilt:
YOUR_BILLING_EXPORT_TABLE_PATH
: der Pfad zur generierten Abrechnungsexporttabelle. Diese Tabelle hat einen ähnlichen Namen wiePROJECT_ID.DATASET_ID.gcp_billing_export_v1_xxxx
.YOUR_USAGE_METERING_PROJECT_ID
ist der Name Ihres Google Cloud-Projekts.YOUR_USAGE_METERING_DATASET_ID
: der Name des Datasets, das Sie in BigQuery erstellt haben, z. B.all_billing_data
.YOUR_USAGE_METERING_START_DATE
: das Startdatum der Abfrage im FormatYYYY-MM-DD
.YOUR_COST_BREAKDOWN_TABLE_ID
: der Name einer neuen Tabelle, die Sie ausgewählt haben, z. B.usage_metering_cost_breakdown
. Diese Tabelle wird als Eingabe für Looker Studio verwendet.YOUR_TEMPLATE_PATH
: der Name der heruntergeladenen Abfragevorlage, entwederusage_metering_query_template_request_and_consumption.sql
oderusage_metering_query_template_request_only.sql
YOUR_RENDERED_QUERY_PATH
: der Name des Pfads für die gerenderte Abfrage, die Sie ausgewählt haben, z. B.cost_breakdown_query.sql
.
Ihre Umgebungsvariablen können beispielsweise so aussehen:
export GCP_BILLING_EXPORT_TABLE_FULL_PATH=my-billing-project.all_billing_data.gcp_billing_export_v1_xxxx export USAGE_METERING_PROJECT_ID=my-billing-project export USAGE_METERING_DATASET_ID=all_billing_data export USAGE_METERING_START_DATE=2022-05-01 export COST_BREAKDOWN_TABLE_ID=usage_metering_cost_breakdown export USAGE_METERING_QUERY_TEMPLATE=usage_metering_query_template_request_only.sql export USAGE_METERING_QUERY=cost_breakdown_query.sql
Rendern Sie die Abfrage aus der Vorlage:
sed \ -e "s/\${fullGCPBillingExportTableID}/$GCP_BILLING_EXPORT_TABLE_FULL_PATH/" \ -e "s/\${projectID}/$USAGE_METERING_PROJECT_ID/" \ -e "s/\${datasetID}/$USAGE_METERING_DATASET_ID/" \ -e "s/\${startDate}/$USAGE_METERING_START_DATE/" \ "$USAGE_METERING_QUERY_TEMPLATE" \ > "$USAGE_METERING_QUERY"
Erstellen Sie eine neue Kostenaufschlüsselungstabelle, die alle 24 Stunden aktualisiert wird:
bq query \ --project_id=$USAGE_METERING_PROJECT_ID \ --use_legacy_sql=false \ --destination_table=$USAGE_METERING_DATASET_ID.$COST_BREAKDOWN_TABLE_ID \ --schedule='every 24 hours' \ --display_name="GKE Usage Metering Cost Breakdown Scheduled Query" \ --replace=true \ "$(cat $USAGE_METERING_QUERY)"
Weitere Informationen zum Planen von Abfragen finden Sie unter Geplante Abfragen einrichten.
BigQuery-Datenquelle erstellen
- Wechseln Sie in Looker Studio zu Datenquellen.
- Klicken Sie auf add Erstellen und dann auf Datenquelle.
- Wählen Sie BigQuery aus.
- Geben Sie der Datenquelle einen Namen. Klicken Sie in der Symbolleiste auf Unbenannte Datenquelle, um den Text durch einen beschreibenden Namen zu ersetzen.
- Wählen Sie Benutzerdefinierte Abfrage und dann Ihre Projekt-ID aus.
Fügen Sie die folgende Abfrage in den Abfrageeditor ein:
SELECT * FROM `USAGE_METERING_PROJECT_ID.USAGE_METERING_DATASET_ID.COST_BREAKDOWN_TABLE_ID`
Klicken Sie auf Verbinden.
Looker Studio-Dashboard erstellen
- Kopieren Sie das GKE-Dashboard zur Nutzungsmessung in Ihr Projekt.
- Klicken Sie auf more_vert Weitere Optionen und dann auf Kopie erstellen.
- Wählen Sie im Dialogfeld Diesen Bericht kopieren aus der Liste Neue Datenquelle die Datenquelle aus, die Sie erstellt haben.
- Klicken Sie auf Bericht kopieren.
Das Dashboard wird erstellt und Sie können in der Liste der Looker Studio-Berichte für Ihr Projekt jederzeit darauf zugreifen.
Looker Studio-Dashboard verwenden
Das Dashboard enthält mehrere Berichte:
- Nutzungsaufschlüsselung
- Dieser Bericht enthält das Gesamtverhältnis für die Clusternutzung aller Cluster, die Nutzungsmessdaten an dieselbe BigQuery-Datenquelle senden. Außerdem enthält er detaillierte Informationen zum Ressourcentyp wie CPU, Arbeitsspeicher oder ausgehenden Netzwerktraffic nach Namespace. Sie können die Berichtsdaten auf einen oder mehrere einzelne Cluster oder Namespaces begrenzen.
- Nutzungsaufschlüsselung mit nicht zugewiesenen Ressourcen
- Dieser Bericht entspricht in etwa einem Bericht zu Nutzungsaufschlüsselungen, jedoch werden nicht zugewiesene Ressourcen proportional auf alle Namespaces verteilt. Zu den nicht zugewiesenen Ressourcen gehören inaktive Ressourcen und all jene, die derzeit nicht von der GKE-Nutzungsmessung an bestimmte Mandanten zugewiesen werden.
- Kostentrends * Aufschlüsselung nach Namespace
- Nutzungstrends unter allen Clustern, die Nutzungsmessdaten an dieselbe BigQuery-Datenquelle senden, aufgeteilt nach Namespace. Sie können einen oder mehrere einzelne Cluster, Namespaces, Ressourcen oder SKUs auswählen.
- Kostentrends * Aufschlüsselung nach Label
- Kostentrends unter allen Clustern, die Nutzungsmessdaten an dieselbe BigQuery-Datenquelle senden. Sie können einen oder mehrere einzelne Cluster, Ressourcen, Labelnamen oder Labelwerte auswählen.
- Verbrauchsbasierte Messung
- Verbrauchstrends unter allen Clustern, die Nutzungsmessdaten an dieselbe BigQuery-Datenquelle senden. Sie können einen oder mehrere einzelne Namespaces, Labelschlüssel oder Labelwerte auswählen. Dieser Bericht wird nur ausgefüllt, wenn die Messung des Ressourcenverbrauchs für mindestens einen Cluster aktiviert ist.
Sie können Seiten über das Navigationsmenü ändern. Außerdem können Sie den Zeitraum für eine Seite mithilfe der Datumsauswahl ändern. Wenn Sie den Bericht für Mitglieder Ihrer Organisation freigeben oder den Zugriff widerrufen möchten, klicken Sie auf person_add_alt Bericht freigeben.
Nachdem Sie den Bericht in Ihr Projekt kopiert haben, können Sie ihn mit dem Looker Studio-Berichtseditor anpassen. Änderungen an der von Google bereitgestellten Berichtsvorlage haben keine Auswirkungen auf Ihre Kopie.
GKE-Nutzungsmessdaten mit BigQuery analysieren
Wenn Sie Daten über Ressourcenanforderungen mit BigQuery einsehen möchten, können Sie die Tabelle gke_cluster_resource_usage
im entsprechenden BigQuery-Dataset abfragen.
Mithilfe der Tabelle gke_cluster_resource_consumption
können Sie sich die Daten zum tatsächlichen Ressourcenverbrauch ansehen. Verbrauchsdaten zum ausgehenden Netzwerktraffic verbleiben in der Tabelle gke_cluster_resource_usage
, da es kein Standardkonzept für Ressourcenanforderungen bei ausgehendem Traffic gibt.
Weitere Informationen zur Verwendung von Abfragen in BigQuery finden Sie unter Abfragen ausführen. Die Felder im Schema sind stabil, doch in Zukunft werden unter Umständen weitere Felder hinzugefügt.
Diese Abfragen sind einfache Beispiele. Sie können die Abfrage anpassen, um die benötigten Daten zu finden.
Abfrage von Ressourcenanforderungen
SELECT
cluster_name,
labels,
usage
FROM
'CLUSTER_GCP_PROJECT.USAGE_METERING_DATASET.gke_cluster_resource_usage'
WHERE
namespace="NAMESPACE"
Abfrage von Ressourcenverbrauch
SELECT
cluster_name,
labels,
usage
FROM
'CLUSTER_GCP_PROJECT.USAGE_METERING_DATASET.gke_cluster_resource_consumption'
WHERE
namespace="NAMESPACE"
Dabei gilt:
CLUSTER_GCP_PROJECT
: der Name Ihres Google Cloud-Projekts, das den Cluster enthält, den Sie abfragen möchten.USAGE_METERING_DATASET
: der Name Ihrer Tabelle zur Nutzungsmessung.NAMESPACE
: Der Name Ihres Namespace.
Weitere Beispiele
Erweitern Sie die folgenden Abschnitte, um komplexere Beispiele anzuzeigen.
Schema der GKE-Nutzungsmessung in BigQuery
In der folgenden Tabelle wird das Tabellenschema für die GKE-Nutzungsmessung im BigQuery-Dataset beschrieben. Wenn in Ihrem Cluster eine Version von GKE ausgeführt wird, die die Messung des Ressourcenverbrauchs sowie der Ressourcenanforderungen unterstützt, wird eine zusätzliche Tabelle mit dem gleichen Schema erstellt.
Feld | Typ | Beschreibung |
---|---|---|
cluster_location |
STRING |
Der Name der Compute Engine-Zone oder -Region, in der sich der GKE-Cluster befindet. |
cluster_name |
STRING |
Der Name des GKE-Clusters. |
namespace |
STRING |
Der Kubernetes-Namespace, aus dem die Nutzung generiert wird. |
resource_name |
STRING |
Der Name der Ressource, z. B. "cpu", "memory" und "storage" (CPU, Arbeitsspeicher und Speicher). |
sku_id |
STRING |
Die SKU-ID der zugrunde liegenden Coogle Cloud-Ressource. |
start_time |
TIMESTAMP |
Der UNIX-Zeitstempel für den Beginn der Nutzung. |
end_time |
TIMESTAMP |
Der UNIX-Zeitstempel für das Ende der Nutzung. |
fraction |
FLOAT |
Der Anteil einer bei der Nutzung verwendeten Cloud-Ressource: Für dedizierte Cloudressourcen, die ausschließlich von einem einzelnen Namespace verwendet werden, ist der Anteil immer 1.0. Für Ressourcen, die von mehreren Namespaces verwendet werden, wird die angeforderte Menge durch die Gesamtkapazität der zugrunde liegenden Cloud-Ressource geteilt, um den Anteil zu berechnen. |
cloud_resource_size |
INTEGER |
Die Größe der zugrunde liegenden Google Cloud-Ressource: Die Größe der vCPUs auf einer n1-Standard-2-Instanz ist z. B. 2. |
labels.key |
STRING |
Der Schlüssel eines Kubernetes-Labels, das mit der Nutzung verknüpft ist. |
labels.value |
STRING |
Der Wert eines Kubernetes-Labels, das mit der Nutzung verknüpft ist. |
project.id |
STRING |
Die ID des Projekts, in dem sich der GKE-Cluster befindet. |
usage.amount |
FLOAT |
Die Menge der verwendeten usage.unit . |
usage.unit |
STRING |
Die Basiseinheit, in der die Ressourcennutzung gemessen wird. Die Basiseinheit für Standardspeicher ist z. B. Byte-Sekunden. |
Die Einheiten für die GKE-Nutzungsmessung müssen so interpretiert werden:
Die CPU
usage.unit
ist Sekunden. Das ist die CPU-Gesamtzeit, die von einem Pod angefordert oder genutzt wurde. Beispiel: Wenn Sie zwei Pods haben, die jeweils 30 CPU anfordern und 15 Minuten lang ausgeführt werden, beträgt die aggregierte Anfragetabelle 54.000 Sekunden (2 Pods * 30 CPU * 15 Minuten * 60 Sekunden / Minute).Der Arbeitsspeicher
usage.unit
ist Byte-Sekunden. Das ist das Integral des Speichers im Zeitablauf, der von einem Pod angefordert oder genutzt wurde. Beispiel: Wenn Sie zwei Pods haben, die jeweils 30 GiB anfordern und 15 Minuten lang ausgeführt werden, beträgt die Gesamtmenge der Anfragetabelle 5,798 + 13 Byte-Sekunden (2 Pods * 30 GiB * 15 Minuten * 60 Sekunden/Minute * 1.073.741.824 Byte/GiB).
Wissen, wann GKE-Nutzungsmessdaten in BigQuery geschrieben werden
Es gibt zwei Bedingungen, bei denen die GKE-Nutzungsmessung Nutzungsdatensätze in BigQuery-Messwerte schreibt:
- Die Pod-Phase ändert sich in
succeeded
oderfailed
oder der Pod wird gelöscht. Der Zeitstempel des stündlichen Zeitplans zum Schreiben von Nutzungsdatensätzen erreicht wird, während der Pod noch ausgeführt wird.
Die GKE-Nutzungsmessung generiert einen stündlichen Zeitplan, in dem Pod-Nutzungsdaten für alle aktuell ausgeführten Pods in BigQuery geschrieben werden. Der Zeitstempel des Zeitplans ist nicht in allen Clustern identisch.
Wenn mehrere Pods mit diesem Zeitstempel ausgeführt werden, sind mehrere Nutzungsdatensätze mit derselben
end_time
vorhanden. Der Wertend_time
dieser Nutzungsdatensätze zeigt den Zeitstempel des stündlichen Zeitplans an.Wenn Sie mehrere Pods haben, die mehrere Stunden lang ausgeführt wurden, haben Sie auch eine Reihe von Nutzungsdatensätzen mit einer
end_time
, die derstart_time
eines anderen Satzes von Nutzungsdatensätzen entspricht.
GKE-Nutzungsmessung deaktivieren
gcloud
Mit dem folgenden Befehl deaktivieren Sie die GKE-Nutzungsmessung für einen Cluster:
gcloud container clusters update CLUSTER_NAME \
--clear-resource-usage-bigquery-dataset
Console
Rufen Sie in der Google Cloud Console die Seite Google Kubernetes Engine auf:
Klicken Sie neben dem Cluster, den Sie bearbeiten möchten, auf more_vert Aktionen und dann auf edit Bearbeiten.
Klicken Sie unter Features neben GKE-Nutzungsmessung auf edit Bearbeiten.
Deaktivieren Sie GKE-Nutzungsmessung aktivieren.
Klicken Sie auf Änderungen speichern.
Nächste Schritte
- Weitere Informationen zur Cluster-Mehrmandantenfähigkeit
- Weitere Informationen zu Cloud Billing
- Informationen zu Looker Studio