Auf dieser Seite erfahren Sie, wie Sie die CPU-Leistung Ihrer Google Kubernetes Engine-Clusterknoten (GKE) mithilfe von PMU-Ereignissen (Performance Monitoring Unit) analysieren.
Diese Seite richtet sich an Clusteradministratoren mit leistungssensiblen Arbeitslasten, die die CPU-Ausführung ihrer Arbeitslasten auf ihren GKE-Knoten während der Entwicklung, des Debuggings, des Benchmarking und der kontinuierlichen Überwachung untersuchen möchten.
Hinweis
Führen Sie die folgenden Aufgaben aus, bevor Sie beginnen:
- Aktivieren Sie die Google Kubernetes Engine API. Google Kubernetes Engine API aktivieren
- Wenn Sie die Google Cloud CLI für diesen Task verwenden möchten,
installieren und dann
initialisieren Sie die
gcloud CLI. Wenn Sie die gcloud CLI bereits installiert haben, rufen Sie die neueste
Version mit dem
gcloud components updateBefehl ab. Ältere gcloud CLI-Versionen unterstützen möglicherweise nicht die Ausführung der Befehle in diesem Dokument.
Anforderungen und Einschränkungen
Beachten Sie beim Aktivieren von PMU-Ereignissen die folgenden Anforderungen und Einschränkungen:
- Ihr Cluster muss sich im Standard-Modus befinden.
- Wenn die automatische Knotenbereitstellung für Ihren Cluster aktiviert ist, können PMU-Ereignisse für Knotenpools, die durch die automatische Bereitstellung erstellt wurden, nicht aktiviert werden. Wenn Sie die automatische Knotenbereitstellung nach dem Aktivieren von PMU-Ereignissen aktivieren, hat dies keine Auswirkungen auf vorhandene Knotenpools.
- Auf Clusterknotenpools muss eine Maschinenserie ausgeführt werden, die PMU unterstützt. Weitere Informationen zu den unterstützten Maschinentypen finden Sie unter Unterstützte Maschinenserien und CPU-Plattformen.
GKE-Cluster erstellen
Erstellen Sie einen Cluster, für den PMU-Ereignisse für den Standardknotenpool aktiviert sind:
gcloud container clusters create CLUSTER_NAME \
--location=COMPUTE_LOCATION \
--performance-monitoring-unit=PMU_LEVEL \
--machine-type=MACHINE_TYPE
Ersetzen Sie Folgendes:
CLUSTER_NAMEist der Name des neuen Clusters.COMPUTE_LOCATION: der Compute Engine-Standort für den neuen Cluster.PMU_LEVEList der Typ der zu erfassenden PMU-Ereignisse. Weitere Informationen finden Sie in der Compute Engine-Dokumentation unter Funktionsweise der PMU. Unterstützte Werte:architectural: Aktiviert architektonische PMU-Ereignisse im Zusammenhang mit Ereignissen, die nicht den Cache der letzten Ebene (Last-Level Cache, LLC) betreffen.standard: Enthält architektonische Ereignisse und aktiviert PMU-Kernereignisse, einschließlich L2-Cache-Ereignisse.enhanced: Enthält Standardereignisse und aktiviert alle lokalen Ereignisse außerhalb des CPU-Kerns und LLC-PMU-Ereignisse. Diese Option ist nur für VMs mit einer bestimmten Anzahl von vCPUs verfügbar. Weitere Informationen finden Sie in der Compute Engine-Dokumentation unter Einschränkungen.
MACHINE_TYPEist der Compute Engine-Maschinentyp für Ihre Knoten. Eine Liste der unterstützten Maschinentypen finden Sie in der Compute Engine-Dokumentation unter Unterstützte Maschinenserien und CPU-Plattformen.
Sie können auch einen neuen Knotenpool für einen vorhandenen Cluster mit dem
gcloud container node-pools create
Befehl erstellen.
Mit dem Cluster verbinden
Konfigurieren Sie kubectl für die Kommunikation mit dem Cluster:
gcloud container clusters get-credentials CLUSTER_NAME \
--location=COMPUTE_LOCATION
Prüfen, ob die PMU aktiviert ist
Prüfen Sie anhand der Kernel-Meldungen, ob die PMU für Ihre Clusterknoten aktiviert ist.
Rufen Sie eine Liste der Knoten im Cluster ab:
kubectl get nodesDie Ausgabe sieht etwa so aus:
NAME STATUS ROLES AGE VERSION gke-c1-default-pool-44be3e13-prr1 Ready <none> 5d23h v1.27.13-gke.1070000 gke-c1-default-pool-7abc4a17-9dlg Ready <none> 2d21h v1.27.13-gke.1070000 gke-c1-default-pool-ed969ef6-4gzp Ready <none> 5d v1.27.13-gke.1070000Notieren Sie den Namen eines der Knoten.
Rufen Sie den Compute Engine-Standort des Knotens ab:
gcloud compute instances list --filter=NODE_NAMEErsetzen Sie
NODE_NAMEdurch den Namen eines Knotens aus dem vorherigen Schritt.Die Ausgabe sieht etwa so aus:
NAME ZONE MACHINE_TYPE PREEMPTIBLE INTERNAL_IP EXTERNAL_IP STATUS gke-c1-default-pool-44be3e13-prr1 us-central1-c c4-standard-4 true 10.128.0.67 34.170.44.164 RUNNINGNotieren Sie den Namen der Compute Engine-
ZONE. In diesem Beispiel ist esus-central1-c.Stellen Sie eine SSH-Verbindung zum Clusterknoten her:
gcloud compute ssh NODE_NAME \ --zone=COMPUTE_ZONEErsetzen Sie
COMPUTE_ZONEdurch den Namen der Compute Engine-Zone aus dem vorherigen Schritt.Prüfen Sie die Kernel-Meldungen:
sudo dmesg |grep -A10 -i "Performance"Die Ausgabe sieht etwa so aus:
[ 0.307634] Performance Events: generic architected perfmon, full- width counters, Intel PMU driver. # Several lines omittedDiese Ausgabe gibt an, dass der PMU-Treiber initialisiert wurde.