Einführung
Kubernetes ist eine Container-Orchestrierungsplattform, die die Bereitstellung, Skalierung und Verwaltung von containerisierten Anwendungen automatisiert. In diesem Lab werden Sie erfahren, wie Sie den Befehl cluster-info verwenden können, um Einblicke in Ihren Kubernetes-Cluster zu erhalten. Am Ende des Labs werden Sie verstehen, wie Sie einen Kubernetes-Cluster starten, wesentliche Clusterinformationen abrufen, interne Komponenten untersuchen und die Konnektivität des API-Servers testen können.
Dieses Lab ist für Anfänger konzipiert, und es wird keine vorherige Erfahrung mit Kubernetes vorausgesetzt.
Starten Sie den Kubernetes-Cluster
Ein Kubernetes-Cluster benötigt eine laufende Umgebung. In diesem Lab werden wir Minikube verwenden, ein Tool, das es Ihnen ermöglicht, einen Kubernetes-Cluster lokal auszuführen. Befolgen Sie diese Schritte:
Öffnen Sie Ihr Terminal und stellen Sie sicher, dass Sie sich im Verzeichnis
/home/labex/projectbefinden:cd ~/projectStarten Sie den Minikube-Cluster:
minikube start- Minikube erstellt einen Kubernetes-Cluster mit einem einzigen Knoten.
- Dieser Prozess kann je nach Ihrem System einige Minuten dauern. Während der Initialisierung werden verschiedene Kubernetes-Komponenten eingerichtet.

Abrufen von grundlegenden Cluster-Informationen
Sobald Minikube läuft, können Sie den Befehl kubectl cluster-info verwenden, um Informationen über den Cluster anzuzeigen. Führen Sie den folgenden Befehl aus:
kubectl cluster-info
- Die URL des API-Servers ist der Haupt-Endpunkt für die Interaktion mit Ihrem Cluster.
- CoreDNS kümmert sich um die Service-Discovery und DNS-Auflösung innerhalb des Clusters.
Beispielausgabe:
Kubernetes control plane is running at https://192.168.49.2:8443
CoreDNS is running at https://192.168.49.2:8443/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy
- Die URL
https://192.168.49.2:8443ist die URL des Kubernetes-API-Servers. Hier werden allekubectl-Befehle gesendet. - Der CoreDNS-Service hilft Kubernetes bei der Auflösung von Domainnamen für Services und Pods.
Clusterkomponenten detailliert untersuchen
Um ein tieferes Verständnis des Clusters und seiner internen Komponenten zu erlangen, verwenden Sie:
kubectl cluster-info dump
Dieser Befehl liefert detaillierte Informationen über die wichtigsten Komponenten:
- etcd: Ein Key-Value-Speicher für alle Clusterdaten.
- kube-apiserver: Der Einstiegspunkt für Kubernetes-API-Anfragen.
- kube-scheduler: Weist Workloads (Pods) auf verfügbare Knoten zu.
- kube-controller-manager: Behält den Clusterzustand aufrecht (z.B. stellt sicher, dass die gewünschte Anzahl von Pod-Replikaten läuft).
Beispielausgabe:
Dieser Befehl erzeugt eine ausführliche Ausgabe, die die Konfiguration und den Status der Kubernetes-Systemkomponenten detailliert beschreibt. Sie können die Ausgabe in eine Datei umleiten, um die Analyse zu erleichtern:
kubectl cluster-info dump > cluster-details.txt
Dadurch wird die Ausgabe in die Datei cluster-details.txt im aktuellen Verzeichnis gespeichert.
Anzeigen der Knoten im Cluster
Knoten (Nodes) sind die Maschinen, die Ihre Workloads in Kubernetes ausführen. Um die Knoten in Ihrem Cluster aufzulisten, führen Sie folgenden Befehl aus:
kubectl get nodes
- Der Knotenname (z.B.
minikube) identifiziert die Maschine. - Der Status (
Ready) zeigt an, dass der Knoten gesund ist und Workloads ausführen kann. - In einem Minikube-Cluster fungiert der Knoten sowohl als Steuerungsebene (Control Plane) als auch als Arbeiterknoten (Worker Node).
Beispielausgabe:
NAME STATUS ROLES AGE VERSION
minikube Ready control-plane 5m v1.20.0
Testen des Zugriffs auf den API-Server
Der API-Server ist eine kritische Komponente der Kubernetes-Steuerungsebene (Control Plane). Sie können seine Zugänglichkeit testen, indem Sie folgenden Befehl ausführen:
curl $(kubectl config view --minify -o jsonpath='{.clusters[0].cluster.server}') --insecure
- Dieser Befehl ruft die URL des API-Servers ab und sendet eine einfache Anfrage an ihn.
- Die Option
--insecureumgeht die SSL-Zertifikatsprüfung, was in dieser lokalen Umgebung akzeptabel ist.
Beispielausgabe:
Wenn der API-Server erreichbar ist, sollte die Antwort in etwa so aussehen:
{
"kind": "Status",
"apiVersion": "v1",
"metadata": {},
"status": "Failure",
"message": "forbidden: User \"system:anonymous\" cannot get path \"/\"",
"reason": "Forbidden",
"details": {},
"code": 403
}
Diese Antwort bestätigt, dass der API-Server läuft, aber den Zugriff verweigert, da die Authentifizierung fehlt. Dies ist zu erwarten.
Zusammenfassung
In diesem Lab haben Sie gelernt, wie Sie:
- Einen Kubernetes-Cluster mit Minikube starten.
kubectl cluster-infoverwenden, um Cluster-Details abzurufen.- Clusterkomponenten detailliert mit
kubectl cluster-info dumpuntersuchen. - Die Knoten (Nodes) im Cluster mit
kubectl get nodesauflisten. - Die Konnektivität des API-Servers mit einem
curl-Befehl testen.
Diese praktische Erfahrung hat Ihnen eine Grundlage für das Verständnis und die Erkundung von Kubernetes-Clustern gegeben. Diese Befehle sind unerlässlich für das Debugging und die Verwaltung von Kubernetes-Umgebungen.
Nächste Schritte:
- Pods und Workloads in Kubernetes erkunden.
- Lernen, wie Sie Services erstellen, um Anwendungen bereitzustellen.
- Experimentieren Sie mit der Skalierung von Workloads in einem Cluster.
Üben Sie weiter und viel Spaß beim Lernen!


