Kubernetes-Client- und Server-Version

KubernetesKubernetesBeginner
Jetzt üben

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

Einführung

Kubernetes ist ein leistungsstarkes Container-Orchestrierungstool, das Entwicklern hilft, containerisierte Anwendungen bereitzustellen, zu skalieren und zu verwalten. Die Kenntnis der Versionen des Kubernetes-Clients (kubectl) und des Servers ist für die Fehlerbehebung, die Sicherstellung der Kompatibilität und die Verwaltung von Updates unerlässlich. In diesem Lab lernen Sie, wie Sie die Client- und Serverversionen überprüfen und die Ausgabe auf verschiedene Weise formatieren können.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL kubernetes(("Kubernetes")) -.-> kubernetes/BasicsGroup(["Basics"]) kubernetes(("Kubernetes")) -.-> kubernetes/BasicCommandsGroup(["Basic Commands"]) kubernetes(("Kubernetes")) -.-> kubernetes/TroubleshootingandDebuggingCommandsGroup(["Troubleshooting and Debugging Commands"]) kubernetes(("Kubernetes")) -.-> kubernetes/ConfigurationandVersioningGroup(["Configuration and Versioning"]) kubernetes/BasicsGroup -.-> kubernetes/initialization("Initialization") kubernetes/BasicCommandsGroup -.-> kubernetes/get("Get") kubernetes/TroubleshootingandDebuggingCommandsGroup -.-> kubernetes/describe("Describe") kubernetes/ConfigurationandVersioningGroup -.-> kubernetes/version("Version") subgraph Lab Skills kubernetes/initialization -.-> lab-9197{{"Kubernetes-Client- und Server-Version"}} kubernetes/get -.-> lab-9197{{"Kubernetes-Client- und Server-Version"}} kubernetes/describe -.-> lab-9197{{"Kubernetes-Client- und Server-Version"}} kubernetes/version -.-> lab-9197{{"Kubernetes-Client- und Server-Version"}} end

Starten des Kubernetes-Clusters

Bevor Sie irgendwelche Kubernetes-Befehle ausführen können, benötigen Sie einen laufenden Cluster. In diesem Lab verwenden wir Minikube, um einen lokalen Kubernetes-Cluster einzurichten.

Zunächst öffnen Sie Ihr Terminal und stellen Sie sicher, dass Sie sich im Verzeichnis /home/labex/project befinden:

cd ~/project

Als Nächstes starten Sie den Minikube-Cluster mit dem folgenden Befehl:

minikube start

Dieser Befehl initialisiert einen Ein-Knoten-Kubernetes-Cluster. Minikube bietet eine einfache Möglichkeit, Kubernetes-Befehle lokal zu testen, ohne dass ein Remote-Cluster erforderlich ist. Der Prozess kann einige Minuten dauern, da Minikube den Cluster einrichtet und die erforderlichen Komponenten installiert.

Um sicherzustellen, dass der Cluster läuft, können Sie seinen Status überprüfen, indem Sie folgenden Befehl ausführen:

minikube status

Sie sollten einen Status sehen, der angibt, dass der Cluster läuft. Wenn dies nicht der Fall ist, versuchen Sie, Minikube neu zu starten, indem Sie zuerst minikube delete und dann minikube start ausführen.

Client- und Serverversion

Um die Versionsinformationen sowohl für den Kubernetes-Client als auch für den Server anzuzeigen, verwenden Sie den folgenden Befehl:

kubectl version

Dieser Befehl gibt Details sowohl für den Client (Ihr lokales kubectl-Tool) als auch für den Server (den in Ihrem Cluster laufenden Kubernetes-API-Server) aus. Die Versionsinformationen umfassen die Haupt- und Nebenversionen, den Git-Commit-Hash, das Build-Datum und mehr.

Beispielsweise könnten Sie eine Ausgabe wie diese sehen:

Client Version: version.Info{Major:"1", Minor:"26", GitVersion:"v1.26.0",...}
Server Version: version.Info{Major:"1", Minor:"26", GitVersion:"v1.26.0",...}

Die "Client Version" zeigt die Version Ihres kubectl-Tools an, während die "Server Version" sich auf den Kubernetes-API-Server im Cluster bezieht. Diese Versionen sollten idealerweise übereinstimmen oder kompatibel sein, damit die Befehle korrekt funktionieren.

Nur die Client-Version abrufen

Manchmal müssen Sie möglicherweise nur die Version Ihres kubectl-Tools überprüfen, beispielsweise wenn Sie lokale Probleme beheben oder die Kompatibilität mit einem Remote-Cluster überprüfen. Um nur die Client-Version anzuzeigen, verwenden Sie den folgenden Befehl:

kubectl version --client

Dieser Befehl gibt nur die Client-Version aus, ohne eine Verbindung zu einem Kubernetes-Cluster herzustellen. Dies ist besonders nützlich, wenn kein Cluster verfügbar ist oder Sie die kubectl-Installation auf Ihrem Computer überprüfen möchten.

Die Ausgabe sieht wie folgt aus:

Client Version: version.Info{Major:"1", Minor:"26", GitVersion:"v1.26.0",...}

Anzeige der Server-Versionsinformationen im JSON-Format

Kubernetes unterstützt die Ausgabe von Informationen in strukturierten Formaten wie JSON, das weit verbreitet in Automatisierungsprozessen und bei der Integration mit anderen Tools eingesetzt wird. Um die Server-Versionsinformationen im JSON-Format anzuzeigen, führen Sie folgenden Befehl aus:

kubectl version --output=json

Dieser Befehl ruft die Versionsinformationen sowohl für den Client als auch für den Server ab und formatiert sie als JSON-Objekt. Die JSON-Ausgabe ist maschinenlesbar und kann von Skripten oder externen Anwendungen verarbeitet werden.

Hier ist ein Beispiel für eine JSON-Ausgabe:

{
  "clientVersion": {
    "major": "1",
    "minor": "26",
    "gitVersion": "v1.26.0",
   ...
  },
  "serverVersion": {
    "major": "1",
    "minor": "26",
    "gitVersion": "v1.26.0",
   ...
  }
}

Anzeige der Server-Versionsinformationen im YAML-Format

Kubernetes verwendet häufig YAML für Konfigurationsdateien und Manifeste, was es zu einer natürlichen Wahl für menschenlesbare Ausgaben macht. Um die Server-Versionsinformationen im YAML-Format anzuzeigen, führen Sie folgenden Befehl aus:

kubectl version --output=yaml

Dieser Befehl ruft die Versionsinformationen ab und formatiert sie als YAML-Dokument. YAML ist für Menschen leichter zu lesen und wird häufig in Kubernetes-Workflows eingesetzt.

Beispielsweise könnte die YAML-Ausgabe wie folgt aussehen:

clientVersion:
  major: "1"
  minor: "26"
  gitVersion: v1.26.0
 ...
serverVersion:
  major: "1"
  minor: "26"
  gitVersion: v1.26.0
 ...

Zusammenfassung

In diesem Lab haben Sie gelernt:

  1. Einen lokalen Kubernetes-Cluster mit Minikube zu starten.
  2. Sowohl die Client- als auch die Server-Versionsinformationen mit kubectl version abzurufen.
  3. Die Client-Version unabhängig mit der --client-Option zu überprüfen.
  4. Die Versionsinformationen im JSON- und YAML-Format für verschiedene Anwendungsfälle zu formatieren.

Das Verständnis der Kubernetes-Versionsdetails ist entscheidend für die Fehlerbehebung, die Sicherstellung der Kompatibilität und die Integration von Kubernetes mit anderen Tools. Mit diesen grundlegenden Befehlen sind Sie besser gerüstet, um Kubernetes-Umgebungen zu verwalten und versionsbezogene Probleme zu debuggen. Üben und erkunden Sie weiter!