Kubernetes Tutorial

Die Software Kubernetes ermöglicht Ihnen, große Mengen von Containern zu verwalten und hilft Ihnen mit zahlreichen Automatismen bei der Arbeit. So hat Kubernetes – oder K8s, wie es auch genannt wird – für eine kleine Revolution in der Software-Entwicklung gesorgt. Damit Sie von seinen Funktionen profitieren können, erklären wir Ihnen die wichtigsten Schritte: von der Installation bis zum ersten Cluster.

Managed Kubernetes von IONOS

Der einfache Weg zur Verwaltung von Container-Workloads. Vollautomatisiertes Setup von Kubernetes Clustern und maximale Transparenz und Kontrolle der K8s Cluster.

Persistent Storage
K8s 24/7 voll supportet
Automatisiertes Cluster Setup

Kubernetes: Einstieg & Installation

Kubernetes arbeitet mit verschiedenen Servern: Master und Nodes. Diese müssen nicht zwingend auf unterschiedlichen physischen Servern liegen. Virtuelle Maschinen lassen es zu, dass Sie auch auf einem 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 erstellt, ist das Programm auf einen Hypervisor angewiesen. Deshalb müssen Sie zur Nutzung auch ein Programm wie beispielsweise VirtualBox installiert haben. Außerdem ist das Tool Kube Control notwendig.

Hinweis

Dieses Kubernetes-Tutorial erklärt die Installationsschritte unter Ubuntu. Es ist aber auch möglich, Kubernetes unter Windows oder macOS laufen zu lassen. Die offizielle Anleitung enthält auch hierfür Lösungen.

Kube Control installieren

Zunächst installieren Sie Kubectl auf Ihrem System. Dieses Programm benötigen Sie, um Cluster zu verwalten.

curl -LO https://storage.googleapis.com/kubernetes-release/release/$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/linux/amd64/kubectl

Minikube

Anschließend installieren Sie Minikube, das eine virtuelle Maschine als Node kreiert.

curl -Lo minikube https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64 \
    && chmod +x minikube

Anschließend starten Sie Minikube.

minikube start

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
Tipp

Wer auf die Installation von Kubernetes auf seinem System vorerst verzichten möchte, der kann auch auf ein Web-Terminal der Entwickler zugreifen. In Form eines interaktiven Tutorials können Sie dort die ersten Schritte mit Kubernetes meistern.

Umgang mit Kubernetes

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

Über das Dashboard können Sie nun Deployments erstellen. Klicken Sie auf den Create-Knopf (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 über einen Button mit drei Punkte 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 liegen hat.

kubectl create deployment --image=[Pfad zum Image]

Über Kommandozeilenbefehle lassen sich zahlreiche Informationen beziehen.

Welche Deployments gibt es?

kubectl get deployments

Wie viele Pods gibt es?

kubectl get pods

Welche Services gibt es?

kubectl get services

Welche Nodes sind aktiv?

kubectl get nodes

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

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

Mit Minikube kann man den Service dann starten:

minikube service test-deployment

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

kubectl delete service test-deployment

Auch das Deployment kann wieder gelöscht werden:

kubectl delete deployment test-deployment

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

minikube stop

Wer gar nicht mehr mit der virtuellen Maschine arbeiten möchte, der kann diese auch löschen.

minikube delete

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

IONOS Cloud Compute Engine

Mittelständische und große Unternehmen wählen die Cloud Made in Germany. IaaS und PaaS vom Hidden Champion für Hidden Champions.

Sicher
Zuverlässig
Flexibel