
Ich beschäftige mich ja nun schon seit einiger Zeit mit Docker auf diesem Blog. Um im Bereich Container noch mehr Wissen aufzubauen, schaue ich mir nun die Container Orchestrierung Kubernetes an.
Da ich nicht gleich ein Cluster mit mehreren VMs installieren will, habe ich mich dazu entschieden in einer VM eine Kubernetes Single Node Cluster mit Minikube zu realisieren.
Generell kann man das ganze entweder mit Docker oder mit KVM betreiben. Will man es mit Docker betreiben, muss Docker vorher installiert werden.
Inhaltsverzeichnis
System Updates und Hypervisor
Bevor wir mit der Installation von Minikube starten können, muss das System auf einen aktuellen Stand gebracht werden und der KVM Hypervisor installiert werden.
Wir starten damit, dass System auf den aktuellen Stand zu bringen. Dazu kann der folgende Befehl verwendet werden.
1 | sudo yum -y update |
Als nächstes installieren wir den KVM Hypervisor. Dazu fügt man das EPEL Repository auf der VM hinzu.
1 | sudo yum -y install epel-release |
Nun können wir alle benötigten Pakete installieren.
1 | sudo yum -y install libvirt qemu-kvm virt-install virt-top libguestfs-tools bridge-utils |
Nach der Installation können wir den entsprechenden Dienst starten und den automatischen Start aktivieren.
1 2 | sudo systemctl start libvirtd sudo systemctl enable libvirtd |
Bevor nun mit der eigentlichen Installation von Minikube gestartet werden kann, muss noch die Konfiguration angepasst werden. Dafür öffnet man die Datei /etc/libvirt/libvirtd.conf mit einem Editor und fügt die folgenden beiden Zeilen hinzu:
1 2 | unix_sock_group = "libvirt" unix_sock_ro_perms = "0777" |
Damit die angepasste Konfiguration geladen wird, muss der Service noch einmal neugestartet werden.
1 | sudo systemctl restart libvirtd.service |
Installation von Minikube
Als erstes wird das Binary heruntergeladen und die rechte werden angepasst.
1 2 | wget https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64 chmod +x minikube-linux-amd64 |
Nun wird das Binary noch an den richtigen Platz verschoben.
1 | sudo mv minikube-linux-amd64 /usr/local/bin/minikube |
Anschließend können wir die Installation prüfen, indem wir uns die Version von Minikube ausgeben lassen.
1 2 3 | minikube version minikube version: v1.12.0 commit: c83e6c47124b71190e138dbc687d2556d31488d6 |
Also nächstes müssen wir kubectl installieren, um mit Minikube interagieren zu können.
Installation von Kubectl
Auch bei Kubectl können wir das Binary direkt herunterladen.
1 | curl -LO https://storage.googleapis.com/kubernetes-release/release/`curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt`/bin/linux/amd64/kubectl |
Wir passen wieder die Rechte des Binary an und kopieren es an die richtige Stelle.
1 2 | chmod +x kubectl sudo mv kubectl /usr/local/bin/ |
Die Installation prüfen wir wieder, indem wir uns die Version von Kubectl ausgeben lassen.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | kubectl version --client -o json { "clientVersion": { "major": "1", "minor": "18", "gitVersion": "v1.18.5", "gitCommit": "e6503f8d8f769ace2f338794c914a96fc335df0f", "gitTreeState": "clean", "buildDate": "2020-06-26T03:47:41Z", "goVersion": "go1.13.9", "compiler": "gc", "platform": "linux/amd64" } } |
Starten von Minikube
Zu guter Letzt können wir jetzt Minikube mit dem folgenden Befehl starten:
1 | minikube start |
[…] einem der Letzten Artikel habe ich bereits gezeigt, wie man sich ein kleines Setup mit Minikube realisiert. Heute will ich euch zeigen, wie ein Kubernetes Cluster bestehend aus drei CentOS […]