Kubernetes: Installations-Tutorial
Kubernetes (auch K8s genannt) ermöglicht eine effiziente Verwaltung großer Containermengen und automatisiert viele Prozesse in der Softwareentwicklung. Mit nur wenigen Schritten lässt sich ein leistungsfähiger Kubernetes-Cluster installieren und direkt produktiv nutzen.
Die ideale Plattform für performante und hochskalierbare Container-Anwendungen. Umfassend ins IONOS Cloud Ökosystem integriert und rund um die Uhr professionell betreut.
Schritt 1: System vorbereiten
Wir zeigen in diesem Tutorial exemplarisch die Kubernetes-Installation unter Ubuntu.
Im ersten Schritt müssen wir das System vorbereiten, indem wir es auf den neuesten Stand bringen und alle notwendigen Abhängigkeiten installieren. Öffnen Sie hierzu das Terminal und führen Sie zunächst ein System-Update durch, um sicherzustellen, dass alle Pakete aktuell sind:
sudo apt update && sudo apt upgrade -ybashAnschließend installieren Sie die wichtigsten Hilfsprogramme, die für die Installation von Kubernetes und Minikube benötigt werden. Hierzu können Sie folgenden Befehl nutzen:
sudo apt install -y curl wget apt-transport-https ca-certificates gnupg lsb-releasebashDiese Tools sorgen dafür, dass Sie externe Quellen sicher nutzen und weitere Softwarepakete problemlos herunterladen und installieren können.
Schritt 2: kubectl installieren
Kubernetes arbeitet mit verschiedenen Servern: dem Master und verschiedenen Nodes. Diese müssen nicht zwingend auf unterschiedlichen physischen Servern liegen. Virtuelle Maschinen lassen es zu, dass Sie auch auf einem einzelnen Computer mehrere Kubernetes-Knotenpunkte aktivieren können. Gerade für Testzwecke hat sich das kostenlose Programm Minikube bewährt. Es ermöglicht, auch lokal mit Kubernetes zu arbeiten. Da Minikube eine virtuelle Maschine oder Docker benötigt, ist das Programm auf einen Hypervisor oder die Container-Software angewiesen. Außerdem ist das Tool kubectl notwendig.
In diesem Tutorial zeigen wir Ihnen den Kubernetes-Einstieg mithilfe von Docker. Sie können dasselbe aber auch mit einer Virtualisierungssoftware wie VirtualBox durchführen.
Zunächst installieren Sie daher kubectl (Kube Control) auf Ihrem System. Dieses Programm benötigen Sie, um Cluster zu verwalten.
curl -LO "https://dl.k8s.io/release/$(curl -Ls https://dl.k8s.io/release/stable.txt)/bin/linux/arm64/kubectl"
chmod +x kubectl
sudo mv kubectl /usr/local/bin/bashDie Installationsbefehle hängen von Ihrer Systemarchitektur ab.
Schritt 3: Docker installieren
Bevor Sie Minikube verwenden können, müssen Sie sicherstellen, dass Docker auf Ihrem System installiert ist. Docker dient dabei als Container-Runtime und ermöglicht es Minikube, Kubernetes-Cluster ohne Virtualisierungssoftware zu betreiben. Installieren Sie Docker mit folgendem Befehl:
sudo apt install -y docker.iobashUm Docker ohne Root-Rechte nutzen zu können, fügen Sie Ihr Benutzerkonto der Docker-Gruppe hinzu:
sudo usermod -aG docker $USER
newgrp dockerbashEventuell müssen Sie sich ab- und wieder anmelden, damit die Gruppenzugehörigkeit aktiv wird. Testen Sie die Installation abschließend mit:
docker run hello-worldbashWenn eine kurze Erfolgsmeldung erscheint, ist Docker korrekt installiert und einsatzbereit für Minikube.
Schritt 4: Minikube installieren und starten
In einem nächsten Schritt installieren Sie Minikube direkt in einer kompatiblen Version und nutzen Docker dabei als Treiber. Laden Sie zunächst die passende Version von Minikube herunter, machen Sie die Datei ausführbar und verschieben Sie sie in ein Systemverzeichnis, sodass der Befehl global verfügbar ist:
curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-arm64
chmod +x minikube-linux-arm64
sudo mv minikube-linux-arm64 /usr/local/bin/minikubebashNach der Installation können Sie mit dem folgenden Befehl überprüfen, ob Minikube korrekt eingerichtet wurde:
minikube versionbashAnschließend starten Sie Minikube mit dem folgenden Kommando:
minikube start --driver=dockerbashMinikube nutzt in diesem Szenario Docker als Container-Runtime und erstellt den Kubernetes-Cluster direkt innerhalb der Docker-Umgebung. Beim Starten von Minikube sollte kubectl automatisch korrekt konfiguriert werden. Um von der Kommandozeile in ein GUI zu wechseln, geben Sie einen weiteren Befehl ein. Dieser öffnet das Dashboard im Standardbrowser.
minikube dashboardbash
Schritt 5: Kubernetes nutzen
Wenn Sie Minikube gestartet haben, hat das Programm automatisch einen Cluster mit einem einzelnen Node erstellt. Dies können Sie mit einer Anfrage an kubectl überprüfen:
kubectl get nodesbashÜber das Dashboard können Sie nun Deployments erstellen. Klicken Sie auf den Create-Knopf (das Plus oben rechts), gelangen Sie zu einem webbasierten Editor. Im JSON- oder YAML-Format können Sie dort ein Deployment erstellen. Haben Sie dies erledigt, generiert Kubernetes automatisch mehrere Pods. Anpassen können Sie die gewünschte Anzahl, indem Sie das Deployment skalieren. Die entsprechende Funktion finden Sie nach einem Klick auf den Button mit drei Punkten neben dem Deployment.


Alternativ können Sie Deployments auch über das Terminal erzeugen. Hierfür müssen die Inhalte allerdings bereits in einem Docker-Image integriert sein, das man in einem Repository abgelegt hat.
kubectl create deployment --image=[Pfad zum Image]bashÜber Kommandozeilenbefehle lassen sich zahlreiche Informationen beziehen.
Welche Deployments gibt es?
kubectl get deploymentsbashWie viele Pods gibt es?
kubectl get podsbashWelche Services gibt es?
kubectl get servicesbashWelche Nodes sind aktiv?
kubectl get nodesbash
Schritt 6: Deployment veröffentlichen
Bisher haben Sie Ihr Deployment zwar gestartet, aber noch nicht veröffentlicht. Eine Veröffentlichung veranlasst man, indem man einen Service erstellt:
kubectl expose deploy test-deploymentbashAuf diese Weise hat man den Service aber nur innerhalb des Clusters veröffentlicht. Um auch von außerhalb des Clusters auf das Deployment zugreifen zu können, fügt man zusätzliche Flags ein:
kubectl expose deploy test-deployment --type=LoadBalancer --port=8080bashMit Minikube kann man den Service dann starten:
minikube service test-deploymentbashWer den Service wieder löschen möchte, findet auch dafür den richtigen Befehl:
kubectl delete service test-deploymentbashAuch das Deployment kann wieder gelöscht werden:
kubectl delete deployment test-deploymentbashUm Minikube schließlich zu beenden, stoppt man den Prozess:
minikube stopbashWer gar nicht mehr mit der VM oder der Container-Runtime arbeiten möchte, der kann diese auch löschen.
minikube deletebashIm Anschluss sind auch die vorgenommenen Einstellungen und erstellten Deployments und Pods entfernt. Startet man Minikube erneut, arbeitet man wieder mit einem leeren Cluster.