minikube

minikube auf k8s.io - Documentation / Get Started

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

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.