Website-Suche

Ü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.

Verwandte Artikel: