Einführung
Der Kubernetes-Befehl describe ist ein leistungsstarkes Werkzeug zum Anzeigen detaillierter Informationen über Kubernetes-Ressourcen. Mit dem Befehl describe können Sie Informationen wie den Ressourcenstatus, Ereignisse, Labels, Anmerkungen und vieles mehr anzeigen. Dies kann hilfreich sein, um Probleme in Ihrem Kubernetes-Cluster zu beheben.
Minikube starten und Cluster überprüfen
Bevor Sie mit Kubernetes arbeiten können, benötigen Sie einen laufenden Cluster. Minikube bietet einen leichten lokalen Kubernetes-Cluster.
Navigieren Sie in Ihr Projektverzeichnis:
Öffnen Sie Ihr Terminal und navigieren Sie in das Standardarbeitsverzeichnis:
cd /home/labex/projectStarten Sie Minikube:
Starten Sie Minikube, um den Cluster zu initialisieren:
minikube start- Minikube erstellt einen Kubernetes-Cluster mit einem einzigen Knoten. Dieser Schritt kann einige Minuten dauern.
Überprüfen Sie den Minikube-Status:
Prüfen Sie, ob Minikube erfolgreich gestartet wurde:
minikube statusSuchen Sie nach Komponenten wie
apiserverundkubelet, die alsRunningaufgeführt sind.Bestätigen Sie die Kubernetes-Konfiguration:
Stellen Sie sicher, dass
kubectlmit dem Minikube-Cluster verbunden ist:kubectl cluster-infoDies zeigt Details über den API-Server und andere Komponenten an.
Wenn Minikube nicht startet, verwenden Sie minikube delete, um die Einstellungen zurückzusetzen, und versuchen Sie es erneut.
Den kubectl-Befehl 'describe' erkunden
Der Befehl kubectl describe wird verwendet, um detaillierte Informationen über eine bestimmte Ressource oder eine Gruppe von Ressourcen anzuzeigen. Er gibt Einblicke in die Konfiguration, den Status und die zugehörigen Ereignisse der Ressource.
Führen Sie den folgenden Befehl aus, um die verfügbaren Optionen für kubectl describe anzuzeigen:
kubectl describe -h
Sie werden die folgende Ausgabe sehen:
Zeigt Details einer bestimmten Ressource oder einer Gruppe von Ressourcen an.
Gibt eine detaillierte Beschreibung der ausgewählten Ressourcen aus, einschließlich verwandter Ressourcen wie Ereignisse oder Controller. Sie können ein einzelnes Objekt anhand seines Namens, alle Objekte dieses Typs, einen Namenspräfix oder einen Label-Selektor angeben. Beispiel:
$ kubectl describe TYPE NAME_PREFIX
prüft zunächst, ob es eine exakte Übereinstimmung für TYPE und NAME_PREFIX gibt. Wenn keine solche Ressource existiert, werden Details für jede Ressource ausgegeben, deren Name mit NAME_PREFIX beginnt.
Verwenden Sie "kubectl api-resources", um eine vollständige Liste der unterstützten Ressourcen zu erhalten.
Beispiele:
## Beschreibt einen Knoten
kubectl describe nodes kubernetes-node-emt8.c.myproject.internal
## Beschreibt einen Pod
kubectl describe pods/nginx
## Beschreibt einen Pod, der durch Typ und Name in "pod.json" identifiziert wird
kubectl describe -f pod.json
## Beschreibt alle Pods
kubectl describe pods
## Beschreibt Pods anhand des Labels name=myLabel
kubectl describe po -l name=myLabel
## Beschreibt alle Pods, die vom Replikationscontroller 'frontend' verwaltet werden
## (Pods, die von einem Replikationscontroller (rc) erstellt wurden, erhalten den Namen des rc als Präfix im Pod-Namen)
kubectl describe pods frontend
Einen Pod beschreiben
In diesem Schritt lernen Sie, wie Sie den Befehl describe verwenden, um Informationen über einen Kubernetes-Pod anzuzeigen.
Erstellen Sie einen einfachen Pod, der als Vorlage für die Replikate dienen wird. Erstellen Sie eine Datei namens
myapp-pod.yamlmit folgendem Inhalt:apiVersion: v1 kind: Pod metadata: name: myapp-pod spec: containers: - name: myapp-container image: nginx ports: - containerPort: 80Erstellen Sie den Pod mit dem folgenden Befehl:
kubectl apply -f myapp-pod.yamlBeschreiben Sie dann den Pod:
kubectl describe pod myapp-pod
Dieser Befehl ruft detaillierte Informationen über den angegebenen Pod ab, einschließlich Status, Labels, Anmerkungen, Ereignissen und vieles mehr.
Einen Deployment beschreiben
In diesem Schritt lernen Sie, wie Sie den Befehl describe verwenden, um Informationen über eine Kubernetes-Deployment (Bereitstellung) anzuzeigen.
Erstellen Sie eine Datei namens
myapp-deployment.yamlmit folgendem Inhalt:apiVersion: apps/v1 kind: Deployment metadata: name: myapp-deployment spec: replicas: 1 selector: matchLabels: app: myapp-deployment template: metadata: labels: app: myapp-deployment spec: containers: - name: myapp-container image: nginx:latest ports: - containerPort: 80Erstellen Sie die Deployment mit dem folgenden Befehl:
kubectl apply -f myapp-deployment.yamlBeschreiben Sie die Deployment:
kubectl describe deployment myapp-deployment
Dieser Befehl ruft detaillierte Informationen über die angegebene Deployment ab, einschließlich Status, Labels, Anmerkungen, Ereignissen und vieles mehr.
Einen Service beschreiben
In diesem Schritt lernen Sie, wie Sie den Befehl describe verwenden, um Informationen über einen Kubernetes-Service (Dienst) anzuzeigen.
Erstellen Sie eine Datei namens
myapp-service.yamlmit folgendem Inhalt:apiVersion: v1 kind: Service metadata: name: myapp-service spec: selector: app: myapp-deployment ports: - protocol: TCP port: 80 targetPort: 80Erstellen Sie den Service mit dem folgenden Befehl:
kubectl apply -f myapp-service.yamlVerwenden Sie den folgenden Befehl, um den Service zu beschreiben:
kubectl describe service myapp-service
Dieser Befehl ruft detaillierte Informationen über den angegebenen Service ab, einschließlich Status, Labels, Anmerkungen, Ereignissen und vieles mehr.
Zusammenfassung
In diesem Lab haben Sie gelernt, wie Sie den Kubernetes-Befehl describe verwenden, um detaillierte Informationen über Kubernetes-Ressourcen anzuzeigen. Sie haben gelernt, wie Sie einen Pod, eine Deployment (Bereitstellung) und einen Service (Dienst) beschreiben können.


