Das ist eine für den Ausdruck optimierte Ansicht des gesamten Kapitels inkl. Unterseiten.
Druckvorgang starten.
Zur Standardansicht zurückkehren.
Werkzeuge installieren
kubectl
Das Kubernetes Befehlszeilenprogramm kubectl ermöglicht es Ihnen, Befehle auf einem Kubernetes-Cluster auszuführen. Sie können mit kubectl Anwendungen bereitstellen, Cluster-Ressourcen überwachen und verwalten sowie Logs einsehen.
Weitere Informationen über alle verfügbaren kubectl
-Befehle finden Sie in der Kommandoreferenz von kubectl.
kubectl
kann unter Linux, macOS und Windows installiert werden. Hier finden Sie Anleitungen zur Installation von kubectl
.
kind
Mit kind
können Sie Kubernetes lokal auf Ihrem Computer ausführen. Voraussetzung hierfür ist eine konfigurierte und funktionierende Docker-Installation.
Die kind
Schnellstart-Seite gibt Informationen darüber, was für den schnellen Einstieg mit kind
benötigt wird.
minikube
Ähnlich wie kind
ist minikube
ein Tool, mit dem man Kubernetes lokal auf dem Computer ausführen kann. Minikube erstellt Cluster mit einer Node oder mehreren Nodes. Somit ist es ein praktisches Tool für tägliche Entwicklungsaktivitäten mit Kubernetes, oder um Kubernetes einfach einmal lokal auszuprobieren.
Hier erfahren Sie, wie Sie minikube
auf Ihrem Computer installieren können.
Falls Sie minikube
bereits installiert haben, können Sie es verwenden, um eine Beispiel-Anwendung zu bereitzustellen..
kubeadm
Mit kubeadm
können Sie Kubernetes-Cluster erstellen und verwalten. kubeadm
führt alle notwendigen Schritte aus, um ein minimales aber sicheres Cluster in einer benutzerfreundlichen Art und Weise aufzusetzen.
Auf dieser Seite finden Sie Anleitungen zur Installation von kubeadm
.
Sobald Sie kubeadm
installiert haben, erfahren Sie hier wie man ein Cluster mit kubeadm
erstellt.
1 - Installieren und konfigurieren von kubectl
Verwenden Sie das Kubernetes Befehlszeilenprogramm, kubectl, um Anwendungen auf Kubernetes bereitzustellen und zu verwalten.
Mit kubectl können Sie Clusterressourcen überprüfen, Komponenten erstellen, löschen und aktualisieren; Ihren neuen Cluster betrachten; und Beispielanwendungen aufrufen.
Bevor Sie beginnen
Sie müssen eine kubectl-Version verwenden, die innerhalb eines geringfügigen Versionsunterschieds zur Version Ihres Clusters liegt. Ein v1.2-Client sollte beispielsweise mit einem v1.1, v1.2 und v1.3-Master arbeiten. Die Verwendung der neuesten Version von kubectl verhindert unvorhergesehene Probleme.
Kubectl installieren
Nachfolgend finden Sie einige Methoden zur Installation von kubectl.
Installieren der kubectl Anwendung mithilfe der systemeigenen Paketverwaltung
sudo apt-get update && sudo apt-get install -y apt-transport-https
curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo gpg --dearmour -o /usr/share/keyrings/kubernetes.gpg
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/kubernetes.gpg] https://apt.kubernetes.io/ kubernetes-xenial main" | sudo tee -a /etc/apt/sources.list.d/kubernetes.list
sudo apt-get update
sudo apt-get install -y kubectl
cat <<EOF > /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://packages.cloud.google.com/yum/repos/kubernetes-el7-x86_64
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg
EOF
yum install -y kubectl
Installation mit snap auf Ubuntu
Wenn Sie Ubuntu oder eine der anderen Linux-Distributionen verwenden, die den snap Paketmanager unterstützen, können Sie kubectl als snap-Anwendung installieren.
-
Wechseln Sie zum Snap-Benutzer und führen Sie den Installationsbefehl aus:
sudo snap install kubectl --classic
-
Testen Sie, ob die installierte Version ausreichend aktuell ist:
kubectl version
Installation mit Homebrew auf macOS
Wenn Sie mit macOS arbeiten und den Homebrew Paketmanager verwenden, können Sie kubectl mit Homebrew installieren.
-
Führen Sie den Installationsbefehl aus:
brew install kubernetes-cli
-
Testen Sie, ob die installierte Version ausreichend aktuell ist:
kubectl version
Installation mit Macports auf macOS
Wenn Sie mit macOS arbeiten und den Macports Paketmanager verwenden, können Sie kubectl mit Macports installieren.
-
Führen Sie den Installationsbefehl aus:
sudo port selfupdate
sudo port install kubectl
-
Testen Sie, ob die installierte Version ausreichend aktuell ist:
kubectl version
Installation mit PowerShell von PSGallery
Wenn Sie mit Windows arbeiten und den Powershell Gallery Paketmanager verwenden, können Sie kubectl mit Powershell installieren und aktualisieren.
-
Führen Sie die Installationsbefehle aus (stellen Sie sicher, dass eine DownloadLocation
angegeben wird):
Install-Script -Name install-kubectl -Scope CurrentUser -Force
install-kubectl.ps1 [-DownloadLocation <path>]
Hinweis:
Wenn Sie keine DownloadLocation
angeben, wird kubectl
im temporären Verzeichnis des Benutzers installiert.
Das Installationsprogramm erstellt $HOME/.kube
und weist es an, eine Konfigurationsdatei zu erstellen
-
Testen Sie, ob die installierte Version ausreichend aktuell ist:
kubectl version
Hinweis:
Die Aktualisierung der Installation erfolgt durch erneutes Ausführen der beiden in Schritt 1 aufgelisteten Befehle.
Installation auf Windows mit Chocolatey oder scoop
Um kubectl unter Windows zu installieren, können Sie entweder den Paketmanager Chocolatey oder das Befehlszeilen-Installationsprogramm scoop verwenden.
choco install kubernetes-cli
2. Testen Sie, ob die installierte Version ausreichend aktuell ist:
```
kubectl version
```
-
Navigieren Sie zu Ihrem Heimatverzeichnis:
cd %USERPROFILE%
-
Erstellen Sie das .kube
-Verzeichnis:
mkdir .kube
-
Wechseln Sie in das soeben erstellte .kube
-Verzeichnis:
cd .kube
-
Konfigurieren Sie kubectl für die Verwendung eines Remote-Kubernetes-Clusters:
New-Item config -type file
Hinweis:
Bearbeiten Sie die Konfigurationsdatei mit einem Texteditor Ihrer Wahl, z.B. Notepad.
Download als Teil des Google Cloud SDK herunter
Sie können kubectl als Teil des Google Cloud SDK installieren.
-
Installieren Sie das Google Cloud SDK.
-
Führen Sie den kubectl
-Installationsbefehl aus:
gcloud components install kubectl
-
Testen Sie, ob die installierte Version ausreichend aktuell ist:
kubectl version
Installation der kubectl Anwendung mit curl
-
Laden Sie die neueste Version herunter:
curl -LO https://dl.k8s.io/release/$(curl -LS https://dl.k8s.io/release/stable.txt)/bin/darwin/amd64/kubectl
Um eine bestimmte Version herunterzuladen, ersetzen Sie den Befehlsteil $(curl -LS https://dl.k8s.io/release/stable.txt)
mit der jeweiligen Version.
Um beispielsweise die Version 1.30.0 auf macOS herunterzuladen, verwenden Sie den folgenden Befehl:
curl -LO https://dl.k8s.io/release/v1.30.0/bin/darwin/amd64/kubectl
-
Machen Sie die kubectl-Binärdatei ausführbar.
chmod +x ./kubectl
-
Verschieben Sie die Binärdatei in Ihren PATH.
sudo mv ./kubectl /usr/local/bin/kubectl
-
Laden Sie die neueste Version mit dem Befehl herunter:
curl -LO https://dl.k8s.io/release/$(curl -LS https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl
Um eine bestimmte Version herunterzuladen, ersetzen Sie den Befehlsteil $(curl -LS https://dl.k8s.io/release/stable.txt)
mit der jeweiligen Version.
Um beispielsweise die Version 1.30.0 auf Linux herunterzuladen, verwenden Sie den folgenden Befehl:
curl -LO https://dl.k8s.io/release/v1.30.0/bin/linux/amd64/kubectl
-
Machen Sie die kubectl-Binärdatei ausführbar.
chmod +x ./kubectl
-
Verschieben Sie die Binärdatei in Ihren PATH.
sudo mv ./kubectl /usr/local/bin/kubectl
-
Laden Sie das aktuellste Release 1.30.0 von diesem link herunter.
Oder, sofern Sie curl
installiert haven, verwenden Sie den folgenden Befehl:
curl -LO https://dl.k8s.io/release/v1.30.0/bin/windows/amd64/kubectl.exe
Informationen zur aktuellen stabilen Version (z. B. für scripting) finden Sie unter https://dl.k8s.io/release/stable.txt.
-
Verschieben Sie die Binärdatei in Ihren PATH.
kubectl konfigurieren
Damit kubectl einen Kubernetes-Cluster finden und darauf zugreifen kann, benötigt es eine kubeconfig Datei. Diese wird automatisch erstellt, wenn Sie einen Cluster mit kube-up.sh erstellen oder einen Minikube-Cluster erfolgreich implementieren. Weitere Informationen zum Erstellen von Clustern finden Sie in den Anleitungen für die ersten Schritte. Wenn Sie Zugriff auf einen Cluster benötigen, den Sie nicht erstellt haben, lesen Sie die Cluster-Zugriff freigeben Dokumentation.
Die kubectl-Konfiguration befindet sich standardmäßig unter ~/.kube/config
.
Überprüfen der kubectl-Konfiguration
Überprüfen Sie, ob kubectl ordnungsgemäß konfiguriert ist, indem Sie den Clusterstatus abrufen:
Wenn Sie eine URL-Antwort sehen, ist kubectl korrekt für den Zugriff auf Ihren Cluster konfiguriert.
Wenn eine Meldung ähnlich der folgenden angezeigt wird, ist kubectl nicht richtig konfiguriert oder kann keine Verbindung zu einem Kubernetes-Cluster herstellen.
The connection to the server <server-name:port> was refused - did you specify the right host or port?
Wenn Sie beispielsweise vorhaben, einen Kubernetes-Cluster auf Ihrem Laptop (lokal) auszuführen, müssen Sie zunächst ein Tool wie minikube installieren und anschließend die oben genannten Befehle erneut ausführen.
Wenn kubectl cluster-info die URL-Antwort zurückgibt, Sie jedoch nicht auf Ihren Cluster zugreifen können, verwenden Sie Folgendes, um zu überprüfen, ob er ordnungsgemäß konfiguriert ist:
kubectl cluster-info dump
Aktivieren der automatischen Autovervollständigung der Shell
kubectl bietet Autocompletion-Unterstützung für Bash und Zsh, was Ihnen viel Tipparbeit erspart!
Im Folgenden werden die Verfahren zum Einrichten der automatischen Vervollständigung für Bash (einschließlich der Unterschiede zwischen Linux und macOS) und Zsh beschrieben.
Einführung
Das kubectl-Vervollständigungsskript für Bash kann mit dem Befehl kubectl completion bash
generiert werden. Durch das Sourcing des Vervollständigungsskripts in Ihrer Shell wird die automatische Vervollständigung von kubectl ermöglicht.
Das Fertigstellungsskript benötigt jedoch bash-completion. Dies bedeutet, dass Sie diese Software zuerst installieren müssen (Sie können testen, ob Sie bereits bash-completion installiert haben, indem Sie type _init_completion
ausführen).
Installation von bash-completion
bash-completion wird von vielen Paketmanagern bereitgestellt (siehe hier). Sie können es mittels apt-get install bash-completion
oder yum install bash-completion
, usw.
Die obigen Befehle erstellen /usr/share/bash-completion/bash_completion
,Dies ist das Hauptskript für die Bash-Vollendung. Abhängig von Ihrem Paketmanager müssen Sie diese Datei manuell in Ihre ~ / .bashrc
-Datei eingeben.
Um dies herauszufinden, laden Sie Ihre Shell erneut und führen Sie type _init_completion
aus. Wenn der Befehl erfolgreich ist, ist bereits alles vorbereitet. Andernfalls fügen Sie der ~/.bashrc
-Datei Folgendes hinzu:
source /usr/share/bash-completion/bash_completion
Laden Sie Ihre Shell erneut und vergewissern Sie sich, dass bash-completion korrekt installiert ist, indem Sie folgendes eingeben: type _init_completion
.
Aktivieren der automatische Vervollständigung von kubectl
Sie müssen nun sicherstellen, dass das kubectl-Abschlussskript in allen Ihren Shell-Sitzungen verwendet wird. Es gibt zwei Möglichkeiten, dies zu tun:
Hinweis:
bash-completion bezieht alle Vervollständigungsskripte aus /etc/bash_completion.d
.
Beide Ansätze sind gleichwertig. Nach dem erneuten Laden der Shell sollte kubectl autocompletion funktionieren.
Warnung:
macOS beinhaltet standardmäßig Bash 3.2. Das kubectl-Vervollständigunsskript erfordert Bash 4.1+ und funktioniert nicht mit Bash 3.2. Um dies zu umgehen, können Sie eine neuere Version von Bash unter macOS installieren (folgen Sie den Anweisungen
hier). Die folgenden Anweisungen funktionieren nur, wenn Sie Bash 4.1 oder höher verwenden.
Einführung
Das kubectl-Vervollständigungsskript für Bash kann mit dem Befehl kubectl completion bash
generiert werden. Durch das Sourcing des Vervollständigungsskripts in Ihrer Shell wird die automatische Vervollständigung von kubectl ermöglicht.
Das Fertigstellungsskript benötigt jedoch bash-completion. Dies bedeutet, dass Sie diese Software zuerst installieren müssen (Sie können testen, ob Sie bereits bash-completion installiert haben, indem Sie type _init_completion
ausführen).
Installation von bash-completion
Sie können bash-completion mit Homebrew installieren:
brew install bash-completion@2
Hinweis:
@2
steht für bash-completion 2, was vom kubectl Vervollständigungsskript benötigt wird (es funktioniert nicht mit bash-completion 1). Für bash-completion 2 ist wiederum Bash 4.1 oder höher erforderlich. Deshalb mussten Sie Bash aktualisieren.
Wie in der Ausgabe von brew install
(Abschnitt "Vorsichtsmaßnahmen") angegeben, fügen Sie Ihrer ~/.bashrc
oder ~/.bash_profile
-Datei die folgenden Zeilen hinzu:
export BASH_COMPLETION_COMPAT_DIR=/usr/local/etc/bash_completion.d
[[ -r /usr/local/etc/profile.d/bash_completion.sh ]] && . /usr/local/etc/profile.d/bash_completion.sh
Laden Sie Ihre Shell erneut und vergewissern Sie sich, dass bash-completion korrekt installiert ist, indem Sie type _init_completion
eingeben.
Aktivieren der automatischen Vervollständigung von kubectl
Sie müssen nun sicherstellen, dass das kubectl-Abschlussskript in allen Ihren Shell-Sitzungen verwendet wird. Es gibt mehrere Möglichkeiten, dies zu tun:
-
Fügen Sie das Vervollständigungsskript Ihrer ~ /.bashrc
-Datei hinzu:
echo 'source <(kubectl completion bash)' >>~/.bashrc
-
Fügen Sie das Vervollständigungsskript zum Verzeichnis /etc/bash_completion.d
hinzu:
kubectl completion bash >/usr/local/etc/bash_completion.d/kubectl
-
Wenn Sie kubectl mit Homebrew installiert haben (wie hier beschrieben), dann wurde das Vervollständigungsskript automatisch in /usr/local/etc/bash_completion.d/kubectl
installiert. In diesem Fall müssen Sie nichts tun.
Hinweis:
bash-completion (falls mit Homebrew installiert) bezieht alle Vervollständigungsskripte aus dem Verzeichnis, das in der Umgebungsvariablen BASH_COMPLETION_COMPAT_DIR
festgelegt ist.
Alle Ansätze sind gleichwertig. Nach dem erneuten Laden der Shell sollte kubectl Autovervollständigung funktionieren.
Das kubectl Vervollständigungsskript für Zsh kann mit dem folgenden Befehl generiert werden: kubectl completion zsh
. Durch das Sourcing des Completion-Skripts in Ihrer Shell wird die automatische Vervollständigung von kubectl ermöglicht.
Fügen Sie Ihrer ~/.zshrc
-Datei dazu Folgendes hinzu:
source <(kubectl completion zsh)
Nach dem erneuten Laden der Shell sollte kubectl Autovervollständigung funktionieren.
Wenn eine Fehlermeldung wie complete: 13: command not found: compdef
angezeigt wird, fügen Sie am Anfang der Datei `~/.zshrc" folgendes hinzu:
autoload -Uz compinit
compinit
Nächste Schritte
Erfahren Sie, wie Sie Ihre Anwendung starten und verfügbar machen.
2 - Kubectl installieren und konfigurieren auf Linux
Bevor Sie beginnen
Um kubectl zu verwenden darf die kubectl-Version nicht mehr als eine Minor-Version Unterschied zu dem Cluster aufweisen. Zum Beispiel: eine Client-Version v1.30 kann mit folgenden Versionen kommunizieren v1.29, v1.30, und v1.31.
Die Verwendung der neuesten kompatiblen Version von kubectl hilft, unvorhergesehene Probleme zu vermeiden.
Kubectl auf Linux installieren
Um kubectl auf Linux zu installieren, gibt es die folgenden Möglichkeiten:
Kubectl Binary mit curl auf Linux installieren
-
Das aktuellste Release downloaden:
curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"
Hinweis:
Um eine spezifische Version herunterzuladen, ersetze $(curl -L -s https://dl.k8s.io/release/stable.txt)
mit der spezifischen Version.
Um zum Beispiel Version 1.30.0 auf Linux herunterzuladen:
curl -LO https://dl.k8s.io/release/v1.30.0/bin/linux/amd64/kubectl
-
Binary validieren (optional)
Download der kubectl Checksum-Datei:
curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl.sha256"
Kubectl Binary mit der Checksum-Datei validieren:
echo "$(cat kubectl.sha256) kubectl" | sha256sum --check
Wenn Valide, dann sieht die Ausgabe wie folgt aus:
Falls die Validierung fehlschlägt, beendet sich sha256
mit einem "nonzero"-Status und gibt einen Fehler aus, welcher so aussehen könnte:
kubectl: FAILED
sha256sum: WARNING: 1 computed checksum did NOT match
Hinweis:
Lade von der kubectl Binary und Checksum-Datei immer die selben Versionen herunter.
-
kubectl installieren
sudo install -o root -g root -m 0755 kubectl /usr/local/bin/kubectl
Hinweis:
Wenn kein root Zugriff auf das Zielsystem möglich ist, kann kubectl in das Verzeichnis ~/.local/bin
installiert werden:
chmod +x kubectl
mkdir -p ~/.local/bin
mv ./kubectl ~/.local/bin/kubectl
# und ~/.local/bin zur Umgebungsvariable $PATH hinzufügen
-
Prüfen ob die installierte Version die aktuellste Version ist:
Hinweis:
Der oben stehende Befehl wirft folgende Warnung:
WARNING: This version information is deprecated and will be replaced with the output from kubectl version --short.
Diese Warnung kann ignoriert werden. Prüfe lediglich die kubectl
Version, eelche installiert wurde.
Oder benutzte diesen Befehl für eine detailliertere Ansicht:
kubectl version --client --output=yaml
Installieren mit Hilfe des Linux eigenen Paketmanagers
-
Update des apt
Paketindex und Installation der benötigten Pakete um das Kubernetes apt
Repository zu nutzen:
sudo apt-get update
sudo apt-get install -y ca-certificates curl
Falls Debian 9 (stretch) oder älter genutzt wird, müssen zusätzlich das Paket apt-transport-https
installiert werden:
sudo apt-get install -y apt-transport-https
-
Den öffentlichen Google Cloud Signaturschlüssel herunterladen:
curl -fsSL https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo gpg --dearmor -o /etc/apt/keyrings/kubernetes-archive-keyring.gpg
-
Kubernetes zum apt
Repository:
echo "deb [signed-by=/etc/apt/keyrings/kubernetes-archive-keyring.gpg] https://apt.kubernetes.io/ kubernetes-xenial main" | sudo tee /etc/apt/sources.list.d/kubernetes.list
-
Den apt
Paketindex mit dem neuen Repository updaten und kubectl installieren:
sudo apt-get update
sudo apt-get install -y kubectl
Hinweis:
In Releases älter als Debian 12 und Ubuntu 22.04, existiert /etc/apt/keyrings
nicht per default.
Falls es benötigt wird, kann es angelegt werden. Hierzu sollte es danach von jedermann lesbar, aber nur von Admins schreibar gemacht werden.
-
Hinzufügen des Kubernetes yum
Repository. Wenn eine andere Kubernetes Version als v1.30 installiert werden soll, muss v1.30 im unteren Block durch die gewünschte Version ersetzt werden.
# Bestehende Inhalte in /etc/yum.repos.d/kubernetes.repo werden überschrieben
cat <<EOF | sudo tee /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://pkgs.k8s.io/core:/stable:/v1.30/rpm/
enabled=1
gpgcheck=1
gpgkey=https://pkgs.k8s.io/core:/stable:/v1.30/rpm/repodata/repomd.xml.key
EOF
Hinweis:
Wenn eine andere minor Version von kubectl installiert werden soll muss
/etc/yum.repos.d/kubernetes.repo
angepasst werden
bevor
yum install
ausgeführt wird. Eine genauere Beschreibung findet sich hier
Wechseln des Kubernetes Package Repository.
-
Installieren von kubectl mit Hilfe von yum
:
sudo yum install -y kubectl
-
Hinzufügen des Kubernetes zypper
Repository. Wenn eine andere Kubernetes Version als v1.30 installiert werden soll, muss v1.30 im unteren Block durch die gewünschte Version ersetzt werden.
# Bestehende Inhalte in /etc/zypp/repos.d/kubernetes.repo werden überschrieben
cat <<EOF | sudo tee /etc/zypp/repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://pkgs.k8s.io/core:/stable:/v1.30/rpm/
enabled=1
gpgcheck=1
gpgkey=https://pkgs.k8s.io/core:/stable:/v1.30/rpm/repodata/repomd.xml.key
EOF
Hinweis:
Wenn eine andere minor Version von kubectl installiert werden soll muss
/etc/zypp/repos.d/kubernetes.repo
angepasst werden
bevor
zypper update
ausgeführt wird. Eine genauere Beschreibung findet sich hier
Wechseln des Kubernetes Package Repository.
-
Install kubectl using zypper
:
sudo zypper install -y kubectl
Installation mit anderen Paketmanagern
Falls Ubuntu oder andere Linux Distributionen verwendet wird, und diese den snap Paketmanager unterstützen, kann kubectl als snap Anwendung installiert werden.
snap install kubectl --classic
kubectl version --client
Falls in Linux Homebrew als
Paketmanager genutzt wird, kann kubectl über diesen installiert werden.
brew install kubectl
kubectl version --client
Kubectl Konfiguration verifizieren
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:
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 kubectl Konfigurationen und Plugins
Shell Autovervollständigung einbinden
kubectl stellt Autovervollständigungen für Bash, Zsh, Fish und Powershell zur Verfügung, mit welchem sich Kommandozeilen Befehle beschleunigen lassen.
Untenstehend ist beschrieben, wie die Autovervollständigungen für Fish und Zsh eingebunden werden.
Hinweis:
Autovervollständigung für Fish benötigt kubectl 1.23 oder neuer.
Das kubectl Autovervollständigungsskript für Fish kann mit folgendem Befehl kubectl completion fish
generiert werden. Mit dem Befehl kubectl completion fish | source
wird die Autovervollständigung in der aktuellen Sitzung aktiviert.
Um die Autovervollständigung in allen Sitzungen einzurichten, muss folgender Befehl in die ~/.config/fish/config.fish
Datei eingetragen werden:
kubectl completion fish | source
Nach dem Neuladen der Shell, sollte die kubectl Autovervollständigung funktionieren.
Das kubectl Autovervollständigungsskript für Zsh kann mit folgendem Befehl kubectl completion zsh
generiert werden. Mit dem Befehl kubectl completion zsh | source
wird die Autovervollständigung in der aktuellen Sitzung aktiviert.
Um die Autovervollständigung in allen Sitzungen einzurichten, muss folgender Befehl in die ~/.zshrc
Datei eingetragen werden:
source <(kubectl completion zsh)
Falls ein Alias für kubectl eingerichtet wurde, funktioniert die kubectl Autovervollständung automatisch.
Nach dem Neuladen der Shell, sollte die kubectl Autovervollständigung funktionieren.
Sollte ein Fehler auftreten wie dieser: 2: command not found: compdef
, muss bitte folgendes am Anfang der ~/.zshrc
Datei eingefügt werden:
autoload -Uz compinit
compinit
kubectl-convert
Plugin installieren
Ein Plugin für das Kubernetes Kommandozeilentool kubectl
, welches es ermöglicht Manifeste von einer Version der
Kubernetes API zu einer anderen zu konvertieren. Kann zum Beispiel hilfreich sein, Manifeste zu einer nicht als veraltet (deprecated)
markierten API Version mit einem neuerem Kubernetes Release zu migrieren.
Weitere Infos finden Sich unter: zu nicht veralteten APIs migrieren
-
Neueste Version des Kommandozeilenbefehls herunterladen:
curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl-convert"
-
Binär-Datei validieren (optional)
Download der kubectl-convert Checksum-Datei:
curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl-convert.sha256"
Kubectl-convert Binary mit der Checksum-Datei validieren:
echo "$(cat kubectl-convert.sha256) kubectl-convert" | sha256sum --check
Wenn Valide, dann sieht die Ausgabe wie folgt aus:
Falls die Validierung fehlschlägt, beendet sich sha256
mit einem "nonzero"-Status und gibt einen Fehler aus, welcher so aussehen könnte:
kubectl-convert: FAILED
sha256sum: WARNING: 1 computed checksum did NOT match
Hinweis:
Lade von der kubectl Binary und Checksum-Datei immer die selben Versionen herunter.
-
kubectl-convert installieren
sudo install -o root -g root -m 0755 kubectl-convert /usr/local/bin/kubectl-convert
-
Verifizieren, dass das Pluign erfolgreich installiert wurde:
Wenn kein Fehler ausgegeben wird, ist das Plugin erfolgreich installiert worden.
-
Nach Installation des Plugins, die Installationsdateien aufräumen:
rm kubectl-convert kubectl-convert.sha256
Nächste Schritte
3 - Kubectl installieren und konfigurieren auf macOS
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.30 kann mit folgenden Versionen kommunizieren v1.29, v1.30, und v1.31.
Die Verwendung der neuesten kompatiblen Version von kubectl hilft, unvorhergesehene Probleme zu vermeiden.
Kubectl auf macOS installieren
Um kubectl auf macOS zu installieren, gibt es die folgenden Möglichkeiten:
Kubectl Binary mit curl auf macOS installieren
-
Das aktuellste Release downloaden:
curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/darwin/amd64/kubectl"
curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/darwin/arm64/kubectl"
Hinweis:
Um eine spezifische Version herunterzuladen, ersetze $(curl -L -s https://dl.k8s.io/release/stable.txt)
mit der spezifischen Version
Um zum Beispiel Version 1.30.0 auf Intel macOS herunterzuladen:
curl -LO "https://dl.k8s.io/release/v1.30.0/bin/darwin/amd64/kubectl"
Für macOS auf Apple Silicon (z.B. M1/M2):
curl -LO "https://dl.k8s.io/release/v1.30.0/bin/darwin/arm64/kubectl"
-
Binary validieren (optional)
Download der kubectl Checksum-Datei:
curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/darwin/amd64/kubectl.sha256"
curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/darwin/arm64/kubectl.sha256"
Kubectl Binary mit der Checksum-Datei validieren:
echo "$(cat kubectl.sha256) kubectl" | shasum -a 256 --check
Wenn Valide, dann sieht die Ausgabe wie folgt aus:
Falls die Validierung fehlschlägt, beendet sich shasum
mit einem "nonzero"-Status und gibt einen Fehler aus, welcher so aussehen könnte:
kubectl: FAILED
shasum: WARNING: 1 computed checksum did NOT match
Hinweis:
Lade von der kubectl Binary und Checksum-Datei immer die selben Versionen herunter.
-
Kubectl Binary ausführbar machen.
-
Kubectl Binary zu einem Ordner in Ihrem PATH
verschieben.
sudo mv ./kubectl /usr/local/bin/kubectl
sudo chown root: /usr/local/bin/kubectl
Hinweis:
Stelle sicher, dass /usr/local/bin
in deiner PATH Umgebungsvariable gesetzt ist.
-
Prüfen ob die installierte Version die aktuellste Version ist:
Hinweis:
Der oben stehende Befehl wirft folgende Warnung:
WARNING: This version information is deprecated and will be replaced with the output from kubectl version --short.
Diese Warnung kann ignoriert werden. Prüfe lediglich die kubectl
Version, welche installiert wurde.
Oder benutzte diesen Befehl für eine detailliertere Ansicht:
kubectl version --client --output=yaml
-
Nach Installation des Plugins, die Installationsdateien aufräumen:
rm kubectl kubectl.sha256
Mit Homebrew auf macOS installieren
Wenn macOS und Homebrew als Paketmanager benutzt wird,
kann kubectl über diesen installiert werden.
-
Führe den Installationsbefehl aus:
oder
brew install kubernetes-cli
-
Prüfen ob die installierte Version die aktuellste Version ist:
Mit Macports auf macOS installieren
Wenn macOS und Macports als Paketmanager benutzt wird, kann kubectl über diesen installiert werden.
-
Führe den Installationsbefehl aus:
sudo port selfupdate
sudo port install kubectl
-
Prüfen ob die installierte Version die aktuellste Version ist:
Kubectl Konfiguration verifizieren
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:
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 kubectl Konfigurationen und Plugins
Shell Autovervollständigung einbinden
kubectl stellt Autovervollständigungen für Bash, Zsh, Fish und Powershell zur Verfügung, mit welchem Kommandozeilenbefehle beschleunigt werden können.
Untenstehend ist beschrieben, wie die Autovervollständigungen für Fish und Zsh eingebunden werden.
Hinweis:
Autovervollständigung für Fish benötigt kubectl 1.23 oder neuer.
Das kubectl Autovervollständigungsskript für Fish kann mit folgendem Befehl kubectl completion fish
generiert werden. Mit dem Befehl kubectl completion fish | source
wird die Autovervollständigung in der aktuellen Sitzung aktiviert.
Um die Autovervollständigung in allen Sitzungen einzurichten, muss folgender Befehl in die ~/.config/fish/config.fish
Datei eingetragen werden:
kubectl completion fish | source
Nach dem Neuladen der Shell, sollte die kubectl Autovervollständigung funktionieren.
Das kubectl Autovervollständigungsskript für Zsh kann mit folgendem Befehl kubectl completion zsh
generiert werden. Mit dem Befehl kubectl completion zsh | source
wird die Autovervollständigung in der aktuellen Sitzung aktiviert.
Um die Autovervollständigung in allen Sitzungen einzurichten, muss folgender Befehl in die ~/.zshrc
Datei eingetragen werden:
source <(kubectl completion zsh)
Falls ein Alias für kubectl eingerichtet wurde, funktioniert die kubectl Autovervollständung automatisch.
Nach dem Neuladen der Shell, sollte die kubectl Autovervollständigung funktionieren.
Sollte ein Fehler auftreten wie dieser: 2: command not found: compdef
, muss bitte folgendes am Anfang der ~/.zshrc
Datei eingefügt werden:
autoload -Uz compinit
compinit
kubectl-convert
Plugin installieren
Ein Plugin für das Kubernetes Kommandozeilentool kubectl
, welches es ermöglicht Manifeste von einer Version der
Kubernetes API zu einer anderen zu konvertieren. Kann zum Beispiel hilfreich sein, Manifeste zu einer nicht als veraltet (deprecated)
markierten API Version mit einem neuerem Kubernetes Release zu migrieren.
Weitere Infos finden Sich unter: zu nicht veralteten APIs migrieren
-
Neueste Version des Kommandozeilenbefehls herunterladen:
curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/darwin/amd64/kubectl-convert"
curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/darwin/arm64/kubectl-convert"
-
Binär-Datei validieren (optional)
Download der kubectl-convert Checksum-Datei:
curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/darwin/amd64/kubectl-convert.sha256"
curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/darwin/arm64/kubectl-convert.sha256"
Validierung der kubectl-convert Binary mit der Checksum-Datei:
echo "$(cat kubectl-convert.sha256) kubectl-convert" | shasum -a 256 --check
Wenn Valide, dann sieht die Ausgabe wie folgt aus:
Falls die Validierung fehlschlägt, beendet sich shasum
mit einem "nonzero"-Status und gibt einen Fehler aus, welcher so aussehen könnte:
kubectl-convert: FAILED
shasum: WARNING: 1 computed checksum did NOT match
Hinweis:
Lade von der kubectl Binary und Checksum-Datei immer die selben Versionen herunter.
-
Kubectl-convert Binary ausführbar machen
chmod +x ./kubectl-convert
-
Kubectl-convert Binary zu einem Ordner in PATH
Umgebungsvariable verschieben.
sudo mv ./kubectl-convert /usr/local/bin/kubectl-convert
sudo chown root: /usr/local/bin/kubectl-convert
Hinweis:
Stelle sicher, dass `/usr/local/bin` in der PATH Umgebungsvariable gesetzt ist.
-
Verifizieren, dass das Pluign erfolgreich installiert wurde:
Wenn kein Fehler ausgegeben wird, ist das Plugin erfolgreich installiert worden.
-
Nach Installation des Plugins, die Installationsdateien aufräumen:
rm kubectl-convert kubectl-convert.sha256
Nächste Schritte
4 - Installation von Minikube
Diese Seite zeigt Ihnen, wie Sie Minikube installieren, ein Programm, das einen Kubernetes-Cluster mit einem einzigen Node in einer virtuellen Maschine auf Ihrem Laptop ausführt.
Bevor Sie beginnen
Die VT-x- oder AMD-v-Virtualisierung muss im BIOS Ihres Computers aktiviert sein. Um dies unter Linux zu überprüfen, führen Sie Folgendes aus und vergewissern Sie sich, dass die Ausgabe nicht leer ist:
egrep --color 'vmx|svm' /proc/cpuinfo
Einen Hypervisor installieren
Wenn noch kein Hypervisor installiert ist, installieren Sie jetzt einen für Ihr Betriebssystem:
Hinweis:
Minikube unterstützt auch die Option --vm-driver=none
, mit der die Kubernetes-Komponenten auf dem Host und nicht in einer VM ausgeführt werden. Die Verwendung dieses Treibers erfordert Docker und eine Linux-Umgebung, jedoch keinen Hypervisor.
Kubectl installieren
Minikube installieren
macOS
Die einfachste Möglichkeit, Minikube unter macOS zu installieren, ist die Verwendung von Homebrew:
Sie können es auch auf macOS installieren, indem Sie eine statische Binärdatei herunterladen:
curl -Lo minikube https://storage.googleapis.com/minikube/releases/latest/minikube-darwin-amd64 \
&& chmod +x minikube
So fügen Sie die Minikube-Programmdatei auf einfache Weise Ihrem Pfad hinzu:
sudo mv minikube /usr/local/bin
Linux
Hinweis:
Dieses Dokument zeigt Ihnen, wie Sie Minikube mit einer statischen Binärdatei unter Linux installieren. Für alternative Linux-Installationsmethoden siehe
Andere Installationsmethoden im offiziellen Minikube-GitHub-Repository.
Sie können Minikube unter Linux installieren, indem Sie eine statische Binärdatei herunterladen:
curl -Lo minikube https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64 \
&& chmod +x minikube
So fügen Sie die Minikube-Programmdatei auf einfache Weise Ihrem Pfad hinzu:
sudo cp minikube /usr/local/bin && rm minikube
Windows
Hinweis:
Um Minikube unter Windows auszuführen, müssen Sie zuerst
VirtualBox oder
Hyper-V installieren. Hyper-V kann auf drei Versionen von Windows 10 ausgeführt werden: Windows 10 Enterprise, Windows 10 Professional und Windows 10 Education. Weitere Informationen zur Installation finden Sie im offiziellen
Minikube GitHub-Repository.
Die einfachste Möglichkeit, Minikube unter Windows zu installieren, ist die Verwendung von Chocolatey (als Administrator ausführen):
choco install minikube kubernetes-cli
Schließen Sie nach der Installation von Minikube die aktuelle CLI-Sitzung und starten Sie sie neu. Minikube sollte automatisch zu Ihrem Pfad hinzugefügt werden.
Manuelle installation unter Windows
Um Minikube manuell unter Windows zu installieren, laden Sie die Datei minikube-windows-amd64
herunter, umbenennen Sie sie in minikube.exe
und fügen Sie sie Ihrem Pfad zu.
Windows Installer
So installieren Sie Minikube manuell unter Windows mit Windows Installer, laden Sie die Datei minikube-installer.exe
und führen Sie den Installer aus.
Eine bestehende Installation bereinigen
Wenn Sie minikube bereits installiert haben, starten Sie die Anwendung:
Und der Befehl gibt einen Fehler zurück:
Müssen Sie die Konfigurationsdateien löschen:
Nächste Schritte