Kubectl installieren und konfigurieren auf Windows

Bevor Sie beginnen

Um kubectl zu verwenden darf die kubectl-Version nicht mehr als eine Minor-Version Unterschied zu deinem Cluster aufweisen. Zum Beispiel: eine Client-Version v1.27 kann mit folgenden Versionen kommunizieren: v1.26, v1.27, und v1.28. Die Verwendung der neuesten kompatiblen Version von kubectl hilft, unvorhergesehene Probleme zu vermeiden.

kubectl auf Windows installieren

kubectl kann auf folgende Weisen installiert werden:

kubectl mit curl auf Windows installieren

  1. Lade den aktuellsten Release 1.27 herunter: kubectl 1.27.1.

    curl.exe -LO "https://dl.k8s.io/release/v1.27.1/bin/windows/amd64/kubectl.exe"
    
  2. Überprüfe die Binärdatei (optional):

    Lade die Prüfsumme von kubectl herunter:

    curl.exe -LO "https://dl.k8s.io/v1.27.1/bin/windows/amd64/kubectl.exe.sha256"
    

    Validiere die kubectl-Binärdatei mit der heruntergeladenen Prüfsumme:

    • Vergleiche das Ergebnis von CertUtil manuell mit der heruntergeladenen Prüfsumme:

      CertUtil -hashfile kubectl.exe SHA256
      type kubectl.exe.sha256
      
    • Verwende den -eq-Operator von PowerShell, um den Hash der Binärdatei mit der Prüfsumme zu vergleichen:

       $(Get-FileHash -Algorithm SHA256 .\kubectl.exe).Hash -eq $(Get-Content .\kubectl.exe.sha256)
      
  3. Füge den Ordner mit der kubectl Binärdatei zur Umgebungsvariable PATH hinzu.

  4. Stelle sicher, dass die Version von kubectl im PATH mit der heruntergeladenen Version übereinstimmt:

    kubectl version --client
    

    Eine detailliertere Ausgabe erhältst du mit:

    kubectl version --client --output=yaml
    

Installation auf Windows mithilfe von Chocolatey, Scoop oder winget

  1. Um kubectl auf Windows zu installieren kann entweder Chocolatey, Scoop oder winget verwendet werden.

    choco install kubernetes-cli
    

    scoop install kubectl
    

    winget install -e --id Kubernetes.kubectl
    
  2. Stelle sicher, dass die aktuellste Version installiert wurde:

    kubectl version --client
    
  3. Wechsle in dein Benutzerverzeichnis:

    # Falls Sie cmd.exe verwenden, führen Sie folgendes aus: cd %USERPROFILE%
    cd ~
    
  4. Erstelle ein Verzeichnis namens .kube:

    mkdir .kube
    
  5. Wechsle in das das .kube Verzeichnis, das du soeben erstellt hast:

    cd .kube
    
  6. Konfiguriere kubectl, um ein externes Kubernetes Cluster zu verwenden:

    New-Item config -type file
    

Konfiguration von kubectl überprüfen

Um mithilfe von kubectl ein Cluster zu finden und darauf zuzugreifen benötigt es eine kubeconfig Datei, welche automatisch angelegt wird, wenn ein Cluster mit Hilfe der kube-up.sh oder erfolgreich ein Cluster mit Minicube erstellt wurde. Standardmäßig liegt die kubectl Konfigurationsdatei unter folgendem Pfad ~/.kube/config.

Um zu überprüfen ob kubectl korrekt konfiguriert ist, kann der Cluster-Status abgefragt werden:

kubectl cluster-info

Wenn als Antwort eine URL ausgegeben wird, ist kubectl korrekt konfiguriert und kann auf das Cluster zugreifen.

Falls eine Nachricht ähnlich wie die Folgende zu sehen ist, ist kubectl nicht korrekt konfiguriert oder nicht in der Lage das Cluster zu erreichen.

The connection to the server <server-name:port> was refused - did you specify the right host or port?

Wenn zum Beispiel versucht wird ein Kubernetes Cluster lokal auf dem Laptop zu starten, muss ein Tool wie zum Beispiel Minikube zuerst installiert werden. Danach können die oben erwähnten Befehle erneut ausgeführt werden.

Falls kubectl cluster-info eine URL zurück gibt, aber nicht auf das Cluster zugreifen kann, prüfe ob kubectl korrekt konfiguriert wurde:

kubectl cluster-info dump

Optionale Konfigurationen und Plugins für kubectl

Auto-Vervollständigung aktivieren

kubectl unterstützt Auto-Vervollständigung in Bash, Zsh, Fish und PowerShell. Somit kannst du dir viel Schreibarbeit sparen.

Im Folgenden findest du eine Anleitung, um die Auto-Vervollständigung für PowerShell einzurichten.

Das kubectl convert-Plugin installieren

  1. Lade die aktuellste Version mit folgendem Kommando herunter:

    curl.exe -LO "https://dl.k8s.io/release/v1.27.1/bin/windows/amd64/kubectl-convert.exe"
    
  2. Überprüfe die Binärdatei (optional):

    Lade die Prüfsumme von kubectl-convert herunter:

    curl.exe -LO "https://dl.k8s.io/v1.27.1/bin/windows/amd64/kubectl-convert.exe.sha256"
    

    Validiere die kubectl-convert-Binärdatei mit der heruntergeladenen Prüfsumme:

    • Vergleiche das Ergebnis von CertUtil manuell mit der heruntergeladenen Prüfsumme:

      CertUtil -hashfile kubectl-convert.exe SHA256
      type kubectl-convert.exe.sha256
      
    • Verwende den -eq-Operator von PowerShell, um den Hash der Binärdatei mit der Prüfsumme zu vergleichen:

      $($(CertUtil -hashfile .\kubectl-convert.exe SHA256)[1] -replace " ", "") -eq $(type .\kubectl-convert.exe.sha256)
      
  3. Füge den Ordner mit der kubectl-convert Binärdatei zur Umgebungsvariable PATH hinzu.

  4. Stelle sicher, dass das Plugin korrekt installiert wurde:

    kubectl convert --help
    

    Wenn kein Fehler ausgegeben wurde, wurde das Plugin erfolgreich installiert.

  5. Entferne die Installationsdateien nach der Installation des Plugins:

    del kubectl-convert.exe kubectl-convert.exe.sha256
    

Nächste Schritte

Zuletzt geändert May 20, 2023 at 4:07 PM PST: Add instructions for kubectl on Windows (38ac0b6cd8)