Im Zuge der CKAD Schulung zur Prüfungsvorbereitung ist die Verwendung eines lokalen Clusters, sowie der Zugang per ssh auf einen gemeinsamen Cluster empfohlen. Nachfolgend werden einige Kubernetes Implementierungen vorgestellt, gefolgt von kubectl und ssh Installationen.
Diese hier beschriebenen Kubernetes Implementierungen bieten vielfältige Möglichkeiten zur Vorbereitung auf die CKAD-Prüfung und können je nach Anforderung und Vorliebe eingesetzt werden. Rancher Desktop bietet dabei einen besonderen Mehrwert durch die integrierten Komponenten und die einfache Bedienbarkeit.
Offizielle Installationsanleitung: Verwende die folgenden Befehle, um die neueste Version von k3d zu installieren:
wget -q -O - https://raw.githubusercontent.com/k3d-io/k3d/main/install.sh | bash
# oder
curl -s https://raw.githubusercontent.com/k3d-io/k3d/main/install.sh | bashHow-To Geek-Anleitung: In dieser Anleitung erfährst du, wie du einen Kubernetes-Cluster mit k3d einrichtest und ihn neben deinen vorhandenen Docker-Containern verwendest. Die Anleitung findest du hier
LinkedIn-Anleitung: Eine weitere Anleitung zur Installation von k3d auf Linux findest du hier
SUSE Communities-Anleitung: Eine Anleitung zum Einrichten von k3s in Hochverfügbarkeit mit k3d findest du hier
Minikube kann für umfangreichere Testszenarien sinnvoll sein, ist jedoch für schnelle, lokale Entwicklungs- und Testumgebungen oft überdimensioniert. Daher ist es im Kontext der CKAD-Vorbereitung meist weniger zu empfehlen.
Docker Desktop bietet zwar eine integrierte Lösung für Container- und Kubernetes-Management, jedoch machen die Lizenzbedingungen den Einsatz in Unternehmensumgebungen oder für intensives Training kompliziert. Daher ist es für die CKAD-Vorbereitung nicht die erste Wahl.
Install and Set Up kubectl on Linux
Download: Über Paketmanager oder direkter Download
Paketmanager:
curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
echo "deb http://apt.kubernetes.io/ kubernetes-xenial main" | sudo tee /etc/apt/sources.list.d/kubernetes.list
sudo apt-get update
sudo apt-get install -y kubectlDirekter Download:
curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"
sudo install -o root -g root -m 0755 kubectl /usr/local/bin/kubectlInstall and Set Up kubectl on macOs
Homebrew:
brew install kubectl Direkter Download:
curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/darwin/amd64/kubectl"
chmod +x ./kubectl
sudo mv ./kubectl /usr/local/bin/kubectl
kubectl version --clientInstall and Set Up kubectl on Windows
Chocolatey:
choco install kubernetes-cliDirekter Download:
curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/windows/amd64/kubectl.exe"Verschieben Sie kubectl.exe in einen Ordner, der im PATH
enthalten ist.
Nach der Installation auf allen Plattformen, Überprüfung der Version:
kubectl version --client.kube/config von
Ihrem Cluster oder konfigurieren Sie kubectl mit
kubectl config manuell, um Zugriff auf Ihren Cluster zu
erhalten.ssh [username]@[hostname] eingebenssh [username]@[hostname]ssh-copy-idssh [username]@[hostname]ssh [username]@[hostname]ssh-copy-idDie PowerShell ist durchaus geeignet für SSH-Verbindungen und bietet den Vorteil der nativen Integration in Windows. Sie eignet sich besonders für Benutzer, die bereits mit der Windows-Befehlszeile vertraut sind und keine zusätzliche Software installieren möchten.
Neben der Verwendung eigener Cluster Installationen bieten sich auch frei verfügbare Playgrounds als webbasierte Ressource für das Training an:
Auch wenn für die CKA(D) Vorbereitung in der Schulung k3s eingesetzt wird, müssen Vorbehalte benannt sein.
K3s ist eine leichtgewichtige Distribution von Kubernetes, die speziell für Edge-Computing-Szenarien und IoT-Geräte entwickelt wurde. Sie teilt die gleiche API und grundlegende Konzepte wie Kubernetes und ermöglicht die Verwaltung und Bereitstellung von containerisierten Anwendungen über ein Cluster von Maschinen mit Konzepten wie Pods, Services und Deployments. Hier sind einige spezifische Punkte bezüglich der Eignung von k3s für die Vorbereitung auf die CKAD-Prüfung:
Sowohl die CKAD- als auch die CKA-Prüfung behandeln Kernkonzepte von Kubernetes wie Pods, Replica-Sets, Deployments, ConfigMaps, Secrets, Netzwerkrichtlinien, Ingress, Persistente Volumes und Claims. Da k3s die gleiche API und Kernkonzepte wie Kubernetes teilt, sollte es geeignet sein, diese Aspekte von Kubernetes zu lernen und zu üben.
K3s fehlen einige Funktionen und Integrationen, die in der Standardversion von Kubernetes verfügbar sind, wie cloud-spezifische Dienste, Speichertreiber und Alpha-Ressourcen. Diese fehlenden Funktionen könnten sich auf die Prüfungsvorbereitung auswirken, wenn die CKAD-Prüfung die Verwendung dieser spezifischen Funktionen erfordert.
K3s kann schnell lokale Testumgebungen für Anwendungen einrichten, ohne den Laptop zu belasten, und kann auf dem lokalen Rechner oder in einer virtuellen Maschine ausgeführt werden, um Anwendungen in einer realistischen Kubernetes-Umgebung zu testen. Dies ist nützlich, um sich auf die Entwicklung von Aspekten der CKAD-Prüfung vorzubereiten.
K3s wurde für den Einsatz in ressourcenbeschränkten Umgebungen entwickelt, während die CKAD-Prüfung das Arbeiten mit Container-Runtimes und Mikroservices voraussetzt. Dies könnte die Art und Weise beeinflussen, wie bestimmte Prüfungsaufgaben in einer k3s-Umgebung im Vergleich zu einer vollständigen Kubernetes-Umgebung gehandhabt werden.
Insgesamt ist k3s i.d.R. für die Aspekte der CKAD-Prüfungsvorbereitung nützlich, insbesondere wenn es darum geht, die Kernkonzepte von Kubernetes zu verstehen und zu üben. Es könnte jedoch Einschränkungen geben, wenn es um spezifische Kubernetes-Funktionen und -Integrationen geht, die in der Standardversion von Kubernetes verfügbar sind, aber in k3s fehlen.