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 -y
bashAnschließ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-release
bashDiese 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.io
bashUm Docker ohne Root-Rechte nutzen zu können, fügen Sie Ihr Benutzerkonto der Docker-Gruppe hinzu:
sudo usermod -aG docker $USER
newgrp docker
bashEventuell müssen Sie sich ab- und wieder anmelden, damit die Gruppenzugehörigkeit aktiv wird. Testen Sie die Installation abschließend mit:
docker run hello-world
bashWenn 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/minikube
bashNach der Installation können Sie mit dem folgenden Befehl überprüfen, ob Minikube korrekt eingerichtet wurde:
minikube version
bashAnschließend starten Sie Minikube mit dem folgenden Kommando:
minikube start --driver=docker
bashMinikube 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 dashboard
bash
- Kostengünstige vCPUs und leistungsstarke dedizierte Cores
- Höchste Flexibilität ohne Mindestvertragslaufzeit
- Inklusive 24/7 Experten-Support
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 nodes
bashÜ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 deployments
bashWie viele Pods gibt es?
kubectl get pods
bashWelche Services gibt es?
kubectl get services
bashWelche Nodes sind aktiv?
kubectl get nodes
bash
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-deployment
bashAuf 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=8080
bashMit Minikube kann man den Service dann starten:
minikube service test-deployment
bashWer den Service wieder löschen möchte, findet auch dafür den richtigen Befehl:
kubectl delete service test-deployment
bashAuch das Deployment kann wieder gelöscht werden:
kubectl delete deployment test-deployment
bashUm Minikube schließlich zu beenden, stoppt man den Prozess:
minikube stop
bashWer gar nicht mehr mit der VM oder der Container-Runtime arbeiten möchte, der kann diese auch löschen.
minikube delete
bashIm Anschluss sind auch die vorgenommenen Einstellungen und erstellten Deployments und Pods entfernt. Startet man Minikube erneut, arbeitet man wieder mit einem leeren Cluster.