minikube¶
minikube auf k8s.io - Documentation / Get Started¶
Link zum Einstieg in minikube: minikube Docs - Start
Installation (Debian) und minikube start
curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube_latest_amd64.deb
sudo dpkg -i minikube_latest_amd64.deb
Den minikube starten und testen:
minikube start
Da passiert jetzt eine ganze Menge und das kann ein wenig dauern.
minikube start mit Emojis in gnome-terminal¶
Bei Fehlern in Richtung ... context "default": context not found: ...
bitte mal docker context use default als Lösung versuchen.
Der Kube Controller den wir von minikube nutzen können funktioniert mit einer erweiterten Syntax:
minikube kubectl -- get pods -A
NAMESPACE NAME READY STATUS RESTARTS AGE
kube-system coredns-7db6d8ff4d-z8k9g 1/1 Running 0 3m14s
kube-system etcd-minikube 1/1 Running 0 3m30s
kube-system kube-apiserver-minikube 1/1 Running 0 3m30s
kube-system kube-controller-manager-minikube 1/1 Running 0 3m29s
kube-system kube-proxy-5gpxr 1/1 Running 0 3m14s
kube-system kube-scheduler-minikube 1/1 Running 0 3m30s
kube-system storage-provisioner 1/1 Running 1 (3m14s ago) 3m28s
Man sieht hier die Elemente eines Kubernetes Systems.
Der Aufruf minikube kubectl -- ersetzt in Testumgebungen
die Funktionalität des Standard Kube Controller Tools kubectl.
Wenn man auch auf produktive oder echte Kubernetes Technik zugreifen
möchte, sollte man auf das native Tool kubectl wechseln und dabei
die Versionierungen beachten.
Wichtig
Das richtige Kube Controller Tool kubectl sollte nur um eine Version von
unserer minikube Version abweichen - siehe minikube kubectl -- version.
Das echte kubectl - bwz. die Installationsanleitung - findet man online:
Installation von kubectl on Linux.
Das Lernwerkzeug minikube hat natürlich kleinere Einschränkungen
gegenüber dem Vanilla bzw. vollem k8s. Hierzu zählen neben dem Umstand,
dass wir immer nur einen Node haben auch Unterschiede bei der
Service Komonente: minikube kann die Pod-Services nur über den NodePort
veröffentlichen. Eine EXTERNAL-IP (siehe Spaltenüberschrift get service …)
ist immer <pending>.
kubectl alias und Shell Completion
Wenn man bei der minikube kubectl Veriante bleibt, dann sollte man die
Umgebung mit einem Alias kubectl="minikube kubectl --" erweiteren.
Bei Debian ist die Standard Bash-Completion bereits installiert und verfügbar - siehe Paket bash-completion. Jetzt kann man mittels einer zusätzlichen Bashrc Zeile die kubectl Kommandokomplettierung aktivieren.
echo 'source <(kubectl completion bash)' >>~/.bashrc
minikube Dashboard
Eine grafische Übersicht lässt sich mit minikube dashboard starten.
Hierzu wird mit Hilfe eines minikube AddOns dashboard eine grafische Konsole für die Verwaltung im Browser offeriert.
minikube AddOns
Der minikube bringt Erweiterungen mit, für die man sich eine einfache
Übersicht anzeigen lassen kann: minikube addons list.