Überprüfen der CPU- und RAM-Auslastung eines Kubernetes-Pods
Einer der wichtigsten Teile der Kubernetes-Administration besteht darin, die Ressourcennutzung für Ihre Master- und Worker-Knoten im Auge zu behalten. Wenn Sie überprüfen, wie viele CPU- und RAM-Ressourcen ein Pod verbraucht, können Sie feststellen, ob eine weitere Skalierung in Betracht gezogen werden muss, um die erhöhte Last zu bewältigen, oder ob eine neue Konfiguration oder ein Hardware-Upgrade angebracht ist. In diesem Tutorial sehen wir uns verschiedene Möglichkeiten an, um die CPU- und RAM-Auslastung eines Kubernetes-Pods auf einem Linux-System zu überprüfen.
In diesem Tutorial lernen Sie:
- Ausführen von Befehlen auf einem Pod, um die Ressourcennutzung anzuzeigen
- So installieren Sie Metrics Server und PodMetrics
- So verwenden Sie Metrics Server und PodMetrics, um die Pod-Nutzung anzuzeigen
Überprüfen der CPU- und RAM-Auslastung eines Kubernetes-Pods
Es gibt mehrere Möglichkeiten, die CPU- und RAM-Auslastung eines Kubernetes-Pods zu überprüfen. Wir haben diese Methoden in verschiedene Abschnitte unterteilt. Sie können die verwenden, die für Ihre Situation am besten geeignet erscheint, oder alle, wenn Sie möchten.
Methode 1 – Ausführung von Befehlen
Für die erste Methode ist kein Metrikserver oder ein anderes Tool eines Drittanbieters erforderlich. Dabei werden Befehle direkt auf den Pods ausgeführt.
Verwenden Sie den folgenden Befehl, um den Pod zu identifizieren, den Sie überprüfen möchten:
kubectl get pods
Verwenden Sie dann die folgende Befehlssyntax, um eine Shell-Eingabeaufforderung für den gewünschten Pod zu öffnen:
kubectl exec -it [pod name] -n [namespace] -- /bin/bash
Ersetzen Sie [Pod-Name] durch den vollständigen Namen des Pods und [namespace] durch den Namespace, in dem er sich befindet.
Sobald Sie sich an der Shell-Eingabeaufforderung befinden, können Sie den Befehl top ausführen:
top
Ein weiterer praktischer Befehl zum Ausführen wäre frei, um die aktuelle RAM-Auslastung zu sehen:
free -h
Methode 2 – Metrik-Server
Die zweite Methode besteht darin, den Metrikserver zu installieren und seine Tools zur Überprüfung der CPU- und RAM-Auslastung zu verwenden. Führen Sie diesen Befehl aus, um es zu installieren:
kubectl create -f https://raw.githubusercontent.com/pythianarora/total-practice/master/sample-kubernetes-code/metrics-server.yaml
Jetzt können wir den folgenden Befehl ausgeben, um die CPU- und RAM-Auslastung für alle Pods zu sehen:
kubectl top pod
NAME CPU(cores) MEMORY(bytes)
my-wordpress-7fc46dfd4b-pjr7g 9m 366Mi
my-wordpress-mariadb-0 10m 69Mi
Geben Sie für einen einzelnen Pod einfach den Namen an:
kubectl top pod my-wordpress-7fc46dfd4b-pjr7g
Die Verwendung des Flags --containers ist eine gute Idee, um eine bessere Vorstellung davon zu bekommen, was Ihr Pod ausführt:
kubectl top pod --containers
Methode 3 – Pod-Metriken
Eine weitere Option sind Pod-Metriken:
kubectl apply -f https://github.com/kubernetes-sigs/metrics-server/releases/latest/download/components.yaml
Und dann ausführen:
kubectl describe PodMetrics [pod name]
Abschließende Gedanken
In diesem Tutorial haben wir gesehen, wie man die CPU- und RAM-Auslastung eines Kubernetes-Pods auf einem Linux-System überprüft. Wir sind in der Lage, native Dienstprogramme und Linux-Befehle zu verwenden, um sie zu überprüfen, aber Kubernetes bietet auch Alternativen, die einfach genug installiert werden können und es uns dann ermöglichen, die Ressourcennutzung aller Pods im Cluster kontinuierlich zu überwachen. Sie können die Methode wählen, die am besten zu Ihnen passt.





