minikube auf PhotonOS

Wie installiert man minikibe auf einem PhotonOS.

In PhotonOS ist bereits docker als Container Engine enthalten. Docker muss man nur noch aktivieren und starten:

systemctl enable docker
systemctl start docker

Das Paket gehört in die Grundausstattung :).

tdnf install sudo

minikube mag es gar nicht, wenn man versucht, Docker mit root zu starten. Dafür richten wir uns einen User “minikube” ein, richten das Heimverzeichnis ein und erlauben dem User das starten von minikube und docker.

useradd minikube
passwd minikube
mkhomedir_helper minikube
usermod -aG sudo minikube
usermod -aG docker minikube

Nun installieren wir minikube gemäss der Beschreibung. In diesem Fall auf ein Linux auf einer Intel Architekur 64-Bit. Damit minikube dann auch als Command erkannt wird, installieren wir die binary im System.

https://minikube.sigs.k8s.io/docs/start/

curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64
install minikube-linux-amd64 /usr/local/bin/minikube

Damit wir später auch bereits kubectl zur Verfügung haben, schieben wir kubectl gleich hinterher und installieren auch diese binary.

curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"
install -o root -g root -m 0755 kubectl /usr/local/bin/kubectl

Und nun sind wir schon an dem Punkt, an welchem wir uns als User minikube anmelden und minikube starten können.

su - minikube
minikube start

Prüfen wir mal, ob alles geklappt hat.

minikube status
############################
minikube [ ~ ]$ minikube status
minikube
type: Control Plane
host: Running
kubelet: Running
apiserver: Running
kubeconfig: Configured

Mit dem folgenden Befehl kannst du mal schauen, aus was minikube effektiv besteht, sprich welche Namespaces erstellt wurden.

kubectl get pod -A
############################
minikube [ ~ ]$ kubectl get pod -A
NAMESPACE     NAME                               READY   STATUS    RESTARTS      AGE
kube-system   coredns-565d847f94-2gcbc           1/1     Running   0             77m
kube-system   etcd-minikube                      1/1     Running   0             77m
kube-system   kube-apiserver-minikube            1/1     Running   0             77m
kube-system   kube-controller-manager-minikube   1/1     Running   0             77m
kube-system   kube-proxy-sz7d8                   1/1     Running   0             77m
kube-system   kube-scheduler-minikube            1/1     Running   0             77m
kube-system   storage-provisioner                1/1     Running   1 (77m ago)   77m

Und was hat das nun mit Docker zu tun? Man sieht hier wunderschön, dass das komplette minikube-System in einem Dockercontainer installiert wurde. Sprich anstatt mehrere Nodes auf VMs zu packen, die zu einem Cluster zusammenzufügen, werden innerhalb von Docker alle Instanzen gebaut und liegen schlussendlich mit sehr wenig Gewicht auf einem PhotonOS uns ist bereit, für Lab oder Testumgebungen.

docker ps
############################
minikube [ ~ ]$ docker ps
CONTAINER ID   IMAGE                                 COMMAND                  CREATED             STATUS             PORTS                                                                                                                                  NAMES
6c38002414fc   gcr.io/k8s-minikube/kicbase:v0.0.35   "/usr/local/bin/entr…"   About an hour ago   Up About an hour   127.0.0.1:49162->22/tcp, 127.0.0.1:49161->2376/tcp, 127.0.0.1:49160->5000/tcp, 127.0.0.1:49159->8443/tcp, 127.0.0.1:49158->32443/tcp   minikube

Leave a Reply

Your email address will not be published. Required fields are marked *