Kubernetes-Befehl 'describe'

KubernetesBeginner
Jetzt üben

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.

  1. Navigieren Sie in Ihr Projektverzeichnis:

    Öffnen Sie Ihr Terminal und navigieren Sie in das Standardarbeitsverzeichnis:

    cd /home/labex/project
    
  2. Starten 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.
  3. Überprüfen Sie den Minikube-Status:

    Prüfen Sie, ob Minikube erfolgreich gestartet wurde:

    minikube status
    

    Suchen Sie nach Komponenten wie apiserver und kubelet, die als Running aufgeführt sind.

  4. Bestätigen Sie die Kubernetes-Konfiguration:

    Stellen Sie sicher, dass kubectl mit dem Minikube-Cluster verbunden ist:

    kubectl cluster-info
    

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

  1. Erstellen Sie einen einfachen Pod, der als Vorlage für die Replikate dienen wird. Erstellen Sie eine Datei namens myapp-pod.yaml 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
    
  2. Beschreiben 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.

  1. Erstellen Sie eine Datei namens myapp-deployment.yaml mit 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: 80
    

    Erstellen Sie die Deployment mit dem folgenden Befehl:

    kubectl apply -f myapp-deployment.yaml
    
  2. Beschreiben 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.

  1. Erstellen Sie eine Datei namens myapp-service.yaml mit folgendem Inhalt:

    apiVersion: v1
    kind: Service
    metadata:
      name: myapp-service
    spec:
      selector:
        app: myapp-deployment
      ports:
        - protocol: TCP
          port: 80
          targetPort: 80
    

    Erstellen Sie den Service mit dem folgenden Befehl:

    kubectl apply -f myapp-service.yaml
    
  2. Verwenden 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.