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
- kubectl mit Chocolatey, Scoop oder winget auf Windows installieren
kubectl mit curl auf Windows installieren
-
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"
Hinweis: Die aktuellste stabile Version (um z.B Skripte zu schreiben) finden Sie unter https://dl.k8s.io/release/stable.txt. -
Ü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)
-
-
Füge den Ordner mit der
kubectl
Binärdatei zur UmgebungsvariablePATH
hinzu. -
Stelle sicher, dass die Version von
kubectl
imPATH
mit der heruntergeladenen Version übereinstimmt:kubectl version --client
Hinweis:Das obere Kommando wird eine Warnung ausgeben:
WARNING: This version information is deprecated and will be replaced with the output from kubectl version --short.
Du kannst diese Warnung ignorieren, da du lediglich die
kubectl
-Version, die du installiert hast, überprüfst.Eine detailliertere Ausgabe erhältst du mit:
kubectl version --client --output=yaml
Docker Desktop für Windows
fügt seine eigene Version von kubectl
zu PATH
hinzu. Falls du Docker Desktop bereits
installiert hast, musst du gegebenenfalls:
- den
PATH
-Eintrag des heruntergeladenenkubectl
vor den Eintrag des Docker Desktop-kubectl
setzen - das
kubectl
von Docker Desktop entfernen
Installation auf Windows mithilfe von Chocolatey, Scoop oder winget
-
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
-
Stelle sicher, dass die aktuellste Version installiert wurde:
kubectl version --client
-
Wechsle in dein Benutzerverzeichnis:
# Falls Sie cmd.exe verwenden, führen Sie folgendes aus: cd %USERPROFILE% cd ~
-
Erstelle ein Verzeichnis namens
.kube
:mkdir .kube
-
Wechsle in das das
.kube
Verzeichnis, das du soeben erstellt hast:cd .kube
-
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
-
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"
-
Ü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)
-
-
Füge den Ordner mit der
kubectl-convert
Binärdatei zur UmgebungsvariablePATH
hinzu. -
Stelle sicher, dass das Plugin korrekt installiert wurde:
kubectl convert --help
Wenn kein Fehler ausgegeben wurde, wurde das Plugin erfolgreich installiert.
-
Entferne die Installationsdateien nach der Installation des Plugins:
del kubectl-convert.exe kubectl-convert.exe.sha256
Nächste Schritte
- Minikube installieren
- Installations Guides ansehen um mehr über die Clustererstellung zu erfahren.
- Lernen wie man Applikationen startet und erreichbar macht.
- Falls Zugriff auf ein Cluster benötigt wird, welches nicht von einem selbst erstellt wurde, könnte Clusterzugang teilen interessant sein.
- Lies die kubectl Referenzdokumentation