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.
Starten Sie den Minikube-Cluster
Bevor Sie Ressourcen erstellen, benötigen Sie einen laufenden Kubernetes-Cluster. Minikube ist eine leichte Kubernetes-Umgebung, die auf Ihrem lokalen Rechner läuft.
Navigieren Sie in Ihr Arbeitsverzeichnis:
Öffnen Sie das Terminal und navigieren Sie in den Standardprojektordner:
cd /home/labex/projectStarten 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.
Überprüfen Sie, ob Minikube läuft:
Überprüfen Sie den Status des Minikube-Clusters:
minikube status- Suchen Sie nach Komponenten wie
kubeletundapiserver, die alsRunningaufgeführt sind. - Wenn der Cluster nicht läuft, führen Sie
minikube starterneut aus.
- Suchen Sie nach Komponenten wie
Wenn Sie Probleme beim Starten von Minikube haben, können Sie minikube delete verwenden, um die Umgebung bei Bedarf zurückzusetzen.
Aktivieren Sie den Metrics-Server
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
Anzeige der CPU- und Arbeitsspeicherauslastung
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.
Anzeige der CPU- und Arbeitsspeicherauslastung 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.


