Kubernetes: Anzeige der Ressourcenauslastung

KubernetesKubernetesBeginner
Jetzt üben

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

Einführung

Die Ressourcenauslastung ist ein wichtiger Aspekt jeder Anwendung, die in einem Kubernetes-Cluster läuft. Durch die Überwachung der Ressourcenauslastung können Sie Leistungsprobleme identifizieren, Ihre Ressourcen optimieren und die Gesamtleistung Ihrer Anwendungen verbessern. In diesem Lab werden wir untersuchen, wie Sie die Ressourcenauslastung in einem Kubernetes-Cluster mithilfe des metrics-server anzeigen können. Wir werden uns auf die CPU- und Speicherauslastung konzentrieren.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL kubernetes(("Kubernetes")) -.-> kubernetes/BasicsGroup(["Basics"]) kubernetes(("Kubernetes")) -.-> kubernetes/BasicCommandsGroup(["Basic Commands"]) kubernetes(("Kubernetes")) -.-> kubernetes/ClusterManagementCommandsGroup(["Cluster Management Commands"]) kubernetes(("Kubernetes")) -.-> kubernetes/TroubleshootingandDebuggingCommandsGroup(["Troubleshooting and Debugging Commands"]) kubernetes/BasicsGroup -.-> kubernetes/initialization("Initialization") kubernetes/BasicCommandsGroup -.-> kubernetes/get("Get") kubernetes/ClusterManagementCommandsGroup -.-> kubernetes/top("Top") kubernetes/TroubleshootingandDebuggingCommandsGroup -.-> kubernetes/describe("Describe") kubernetes/TroubleshootingandDebuggingCommandsGroup -.-> kubernetes/logs("Logs") subgraph Lab Skills kubernetes/initialization -.-> lab-11358{{"Kubernetes: Anzeige der Ressourcenauslastung"}} kubernetes/get -.-> lab-11358{{"Kubernetes: Anzeige der Ressourcenauslastung"}} kubernetes/top -.-> lab-11358{{"Kubernetes: Anzeige der Ressourcenauslastung"}} kubernetes/describe -.-> lab-11358{{"Kubernetes: Anzeige der Ressourcenauslastung"}} kubernetes/logs -.-> lab-11358{{"Kubernetes: Anzeige der Ressourcenauslastung"}} end

Starten des Minikube-Clusters

Bevor Sie Ressourcen erstellen, benötigen Sie einen laufenden Kubernetes-Cluster. Minikube ist eine leichte Kubernetes-Umgebung, die auf Ihrem lokalen Rechner läuft.

  1. Navigieren Sie in Ihr Arbeitsverzeichnis:

    Öffnen Sie das Terminal und navigieren Sie in den Standardprojektordner:

    cd /home/labex/project
  2. Starten Sie Minikube:

    Starten Sie Minikube, um einen Kubernetes-Cluster zu initialisieren:

    minikube start
    • Dieser Befehl richtet einen Ein-Knoten-Kubernetes-Cluster auf Ihrem lokalen Rechner ein.
    • Minikube kann je nach Leistung Ihres Systems einige Minuten dauern, um zu starten.
  3. Überprüfen Sie, ob Minikube läuft:

    Überprüfen Sie den Status des Minikube-Clusters:

    minikube status
    • Suchen Sie nach Komponenten wie kubelet und apiserver, die als Running aufgeführt sind.
    • Wenn der Cluster nicht läuft, führen Sie minikube start erneut aus.

Wenn Sie Probleme beim Starten von Minikube haben, können Sie minikube delete verwenden, um die Umgebung bei Bedarf zurückzusetzen.

Aktivieren des Metrics-Servers

Der Metrics-Server ist eine Kubernetes-Komponente, die Metriken von verschiedenen Kubernetes-Objekten sammelt und sie in einem nutzbaren Format für andere Kubernetes-Komponenten bereitstellt. Bevor wir die Ressourcenauslastung in unserem Kubernetes-Cluster anzeigen können, müssen wir den Metrics-Server aktivieren.

minikube addons enable metrics-server

Dieser Befehl aktiviert den Metrics-Server in Ihrem Kubernetes-Cluster.

Führen Sie den folgenden Befehl aus, um zu überprüfen, ob der Metrics-Server läuft:

kubectl get pods --namespace=kube-system | grep metrics-server

Anzeigen der CPU- und Speicherauslastung

Um die CPU- und Speicherauslastung in einem Kubernetes-Cluster anzuzeigen, verwenden wir den Befehl kubectl top. Dieser Befehl ermöglicht es Ihnen, die Ressourcenauslastung von Kubernetes-Objekten in Echtzeit zu sehen.

## Anzeigen der CPU- und Speicherauslastung für alle Pods in einem bestimmten Namespace
kubectl top pods --namespace=kube-system

## Anzeigen der CPU- und Speicherauslastung für alle Knoten im Cluster
kubectl top nodes

Dieser Befehl zeigt die aktuellen CPU- und Speicherauslastungsstatistiken für alle Pods im angegebenen Namespace oder für alle Knoten im Cluster an.

Anzeigen der CPU- und Speicherauslastung von Containern

Um die CPU- und Speicherauslastung von Containern, die in Pods laufen, anzuzeigen, verwenden wir erneut den Befehl kubectl top.

Erstellen Sie einen einfachen Pod, der als Vorlage für die Replikate dienen wird. Erstellen Sie eine Datei namens myapp-pod.yaml in /home/labex/project/ mit folgendem Inhalt:

apiVersion: v1
kind: Pod
metadata:
  name: myapp-pod
spec:
  containers:
    - name: myapp-container
      image: nginx
      ports:
        - containerPort: 80

Erstellen Sie den Pod mit dem folgenden Befehl:

kubectl apply -f myapp-pod.yaml

Verwenden Sie dann den folgenden Befehl, um die CPU- und Speicherauslastung für einen bestimmten Container innerhalb eines Pods anzuzeigen:

kubectl top pod myapp-pod --namespace=default --containers=true

Dieser Befehl zeigt die aktuellen CPU- und Speicherauslastungsstatistiken für den angegebenen Container innerhalb des angegebenen Pods an.

Zusammenfassung

Herzlichen Glückwunsch! Sie haben das Lab "Kubernetes Display Resource Usage" erfolgreich abgeschlossen. In diesem Lab haben Sie gelernt, wie Sie die Ressourcenauslastungsstatistiken für CPU und Speicher in einem Kubernetes-Cluster anzeigen. Mit dem Metrics-Server können Sie nun die Ressourcenauslastung in Ihren Anwendungen überwachen, Ihre Ressourcen optimieren und die Gesamtleistung Ihrer in einem Kubernetes-Cluster laufenden Anwendungen verbessern.