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.

Managed Kubernetes
Kubernetes als Managed Service von IONOS Cloud

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
bash

Anschließ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
bash

Diese 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.

Hinweis

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/
bash
Hinweis

Die 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
bash

Um Docker ohne Root-Rechte nutzen zu können, fügen Sie Ihr Benutzerkonto der Docker-Gruppe hinzu:

sudo usermod -aG docker $USER
newgrp docker
bash

Eventuell 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
bash

Wenn 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
bash

Nach der Installation können Sie mit dem folgenden Befehl überprüfen, ob Minikube korrekt eingerichtet wurde:

minikube version
bash

Anschließend starten Sie Minikube mit dem folgenden Kommando:

minikube start --driver=docker
bash

Minikube 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
Bild: Kubernetes-Dashboard
Leeres Kubernetes-Dashboard
Compute Engine
Die ideale IaaS für Ihre Workloads
  • 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.

Bild: Kubernetes-Dashboard mit einem Deployment und drei Pods
Kubernetes: Deployment und Pods im Dashboard
Bild: Skalierung eines Deployments in Kubernetes
Kubernetes: Skalieren Ihres Deployments

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
bash

Wie viele Pods gibt es?

kubectl get pods
bash

Welche Services gibt es?

kubectl get services
bash

Welche Nodes sind aktiv?

kubectl get nodes
bash
Bild: Terminal mit verschiedenen Kubernetes-Befehlen und -Outputs
Kubernetes-Befehle im Terminal

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
bash

Auf 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
bash

Mit Minikube kann man den Service dann starten:

minikube service test-deployment
bash

Wer den Service wieder löschen möchte, findet auch dafür den richtigen Befehl:

kubectl delete service test-deployment
bash

Auch das Deployment kann wieder gelöscht werden:

kubectl delete deployment test-deployment
bash

Um Minikube schließlich zu beenden, stoppt man den Prozess:

minikube stop
bash

Wer gar nicht mehr mit der VM oder der Container-Runtime arbeiten möchte, der kann diese auch löschen.

minikube delete
bash

Im Anschluss sind auch die vorgenommenen Einstellungen und erstellten Deployments und Pods entfernt. Startet man Minikube erneut, arbeitet man wieder mit einem leeren Cluster.

War dieser Artikel hilfreich?
Zum Hauptmenü