zhu difeng - Fotolia
Wie kann man Kubernetes auf lokalen Rechnern nutzen?
Mit Kubernetes auf einem PC, zum Beispiel durch Minikube, MicroK8s oder K3s, lässt sich Code testen oder eine Lernumgebung für Containerorchestrierung umsetzen.
Das wichtigste Anwendungsgebiet von Kubernetes ist das Hosten von Anwendungen auf einem Cluster von Servern mit komplexen Load-Balancing- und Ressourcenzuweisungsfunktionen. Dadurch stellen Administratoren sicher, dass Anwendungen reibungslos laufen, auch wenn Server ausfallen. In Produktionseinsätzen ist die Verwendung mehrerer Server für Kubernetes unerlässlich.
Es gibt jedoch Situationen, in denen ein IT-Administrator oder Entwickler Kubernetes auf einem PC oder Notebook ausführen möchte. In einer solchen Kubernetes-Umgebung im Miniaturformat können Entwickler zum Beispiel neuen Anwendungscode schnell testen, ohne ihn in ein Produktions-Cluster hochladen zu müssen. Kubernetes auf einem PC oder mobilen Rechner ist auch eine großartige Möglichkeit für Neueinsteiger, mit dem Container-Orchestrierungssystem herumzuspielen, ohne die Komplexität und die Kosten für die Bereitstellung mehrerer Server in Kauf nehmen zu müssen.
Im Folgenden werden drei Ansätze zur lokalen Ausführung von Kubernetes vorgestellt, die alle auf einem PC oder Notebook mit Windows, Linux oder MacOS funktionieren.
1. Minikube
Minikube ist eine Version von Kubernetes, die speziell für Einsätze auf einzelnen Geräten entwickelt wurde. Minikube wurde von der Open-Source-Gemeinschaft von Kubernetes entwickelt und verwendet eine virtuelle Maschine (VM), um eine Kubernetes-Installation mit nur einem Knoten zu erstellen.
Die Installation von Minikube ist relativ einfach, da die Installationsprogramme unter Windows, Linux und MacOS den größten Teil des Prozesses, einschließlich des Einrichtens der VMs automatisieren. Voraussetzung für Kubernetes ist, dass eine VM-Plattform, wie Hyper-V, VirtualBox oder KVM, installiert ist.
Sobald Minikube eingerichtet ist, verwenden man kubectl, die vorinstallierte Kommandozeile (CLI, Command Line Interface) von Kubernetes, um mit dem Cluster zu interagieren.
Die größte Einschränkung von Minikube ist, dass der lokale Cluster nur aus einem Knoten bestehen kann und daher keine gute Simulation eines Kubernetes-Clusters auf Produktionsebene mit mehreren Knoten bietet.
2. MikroK8s
MicroK8s ist eine Kubernetes-Distribution von Canonical, das auf eine schnelle und einfache Bereitstellung hin ausgerichtet ist. Daher ist es eine gute Wahl für den Betrieb von Kubernetes auf PCs.
MicroK8s lässt sich einfach auf jeder Linux-Distribution installieren, die Snap-Pakete unterstützt – eine Methode für das Verpacken von Anwendungen, die Canonical vor allem für den Einsatz auf Ubuntu, der Linux-Distribution die das Unternehmen selbst verwendet, entwickelt hat. Die Installation von MicroK8s unter Windows und MacOS ist ebenfalls einfach, da die MicroK8s-Installationsprogramme für diese Systeme Ubuntu-basierte VMs erstellen und dann Snap-Pakete verwenden, um MicroK8s darauf zu installieren.
IT-Administratoren oder Entwickler können MicroK8s im Gegensatz zu Minikube zum Erstellen von Clustern mit mehreren Knoten verwenden. Wenn MicroK8s unter Linux läuft, benötigen Anwender außerdem keine VMs. Unter Windows und MacOS verwendet MicroK8s ein VM-Framework namens Multipass, um VMs für den Kubernetes-Cluster zu erstellen.
Der vielleicht größte Nachteil von MicroK8s ist, dass es schwierig ist, es auf Linux-Distributionen zu installieren, die keine Snap-Pakete unterstützen.
3. K3s
K3s ist eine leichte Kubernetes-Variante von Rancher. Sie ist als Kubernetes-Umgebung auf Produktionsebene konzipiert und in erster Linie für den Einsatz auf Hardwaregeräten mit geringem Ressourcenprofil, wie zum Beispiel IoT-Sensoren (Internet of Things), vorgesehen.
K3s läuft jedoch auch auf PCs, um Kubernetes zu testen oder in einer Kubernetes-Umgebung zu entwickeln. Dazu müssen zunächst auf dem System mindestens zwei VMs unter Verwendung einer Plattform wie VMWare, VirtualBox oder KVM erstellt werden. K3s erstellt die VMs nicht für den Anwender. Er muss dies manuell erledigen.
Anschließend installiert man den K3s-Server auf einer VM und den K3s-Agenten auf der anderen. Dadurch entsteht ein Miniatur-Kubernetes-Cluster auf einem Gerät.
K3s erfordert mehr manuelle Arbeit für die Einrichtung und Bereitstellung als MicroK8s und Minikube. Da K3s jedoch für den vollen Produktionseinsatz konzipiert ist, ist es die naheliegende Option, um einen Server für die Produktion auf einem PC oder Notebook zu betreiben.