tostphoto - stock.adobe.com
So implementieren Sie ein leichtgewichtiges K3-Cluster
K3s ist eine Kubernetes-Distribution, die besonders klein und benutzerfreundlich ist. Sie eignet sich daher gut für Tests und den Edge. Wir erklären, wie der Einstieg gelingt.
K3s ist eine leichtgewichtige Kubernetes-Distribution, die von Rancher entwickelt wurde. Sie ist besonders platzsparend und verbraucht weniger Ressourcen als herkömmliche Distributionen. Deshalb läuft sie auch auf kleineren Geräten wie Laptops oder Desktop-PCs, sowie am Edge. Außerdem ist K3s in vielerlei Hinsicht einfacher einzurichten und zu verwalten als andere Kubernetes-Distributionen.
Beide Eigenschaften – dass es leicht zu bedienen ist und fast überall hinpasst, sogar auf ein Raspberry Pi – machen K3s für IT-Administratoren, die Kubernetes noch nicht kennen und es testen wollen, besonders attraktiv.
K3s ist trotzdem eine produktionsreife Kubernetes-Distribution, die für den Betrieb in großen Netzwerken von Geräten skaliert werden kann. Rancher bewirbt K3 aufgrund seiner geringen Ressourcenanforderungen sowie seiner Unterstützung für ARM64- und ARMv7-Geräte für IoT- (Internet of Things) und Edge-Infrastrukturen.
Was auch immer Ihr Ziel ist – ob Sie K3s produktiv oder nur zu Testzwecken implementieren möchten – dieses Tutorial wird Ihnen den Einstieg erleichtern. Wir führen Sie Schritt für Schritt durch den Prozess zum Erstellen eines K3s-Clusters.
Was sind die Vor- und Nachteile von K3s?
Bevor wir mit der K3s-Installation beginnen, wollen wir über die Nachteile von K3s sprechen.
- K3s ist eine eigenwillige Kubernetes-Distribution: Sie wird vorkonfiguriert geliefert, um auf eine bestimmte Weise zu funktionieren. Sie verfügt beispielsweise über voreingestellte Netzwerkintegrationen, Speichermanagement und Ingress-Kontrolle, die nur schwer geändert werden können. Das ist an sich nichts Schlechtes – die Standardeinstellungen und -integrationen sind ein Grund, warum K3s so einfach zu nutzen ist. Wenn Sie jedoch eine große Flexibilität bei der Konfiguration Ihrer Kubernetes-Umgebung wünschen, wird es eine Menge Arbeit erfordern, Ihren K3s-Cluster an Ihre Vorstellungen anzupassen.
- Moderne Versionen unterstützen zwar den Hochverfügbarkeitsmodus, das heißt Cluster mit mindestens zwei Master- oder Serverknoten, doch für echte Hochverfügbarkeitscluster benötigen Sie einen externen Datenspeicher. Der Hochverfügbarkeitsmodus ist bei den meisten anderen Kubernetes-Distributionen einfacher zu konfigurieren.
- Es ist schwierig, Anbieter zu finden, die K3s als verwalteten Service anbieten. Civo ist der erste Anbieter, der K3s als verwalteten Dienst anbietet. Die üblichen Provider – wie Amazon Elastic Kubernetes Service, Microsoft Azure Kubernetes Service und Google Kubernetes Engine – basieren auf anderen Kubernetes-Distributionen. Im In der Regel müssen Sie K3s folglich selbst einrichten und verwalten, um es zu betreiben.
Einrichten eines K3s-Clusters
Sehen wir uns nun an, wie man ein K3s-Cluster einrichtet.
Schritt 1: Besorgen Sie sich einen Linux-Rechner
Zunächst benötigen Sie ein Gerät, auf dem Linux läuft. K3s funktioniert mit jedem Linux-Kernel und jeder Linux-Distribution, die nach 2017 veröffentlicht wurden. Sie können also eine beliebige Distribution wählen, ebenso wie den Ort, an dem Sie es ausführen möchten, entweder in virtuellen Maschinen (VMs) oder Bare Metal.
Schritt 2: Herunterladen der Rancher-Binärdatei
Laden Sie auf dem Linux-Rechner Ihrer Wahl die K3s-Binärdatei (k3s) aus dem GitHub-Repository über Ihren Webbrowser herunter. Alternativ können Sie auch einen wget- oder curl-Befehl verwenden.
wget https://github.com/k3s-io/k3s/releases/download/v1.23.5%2Bk3s1/k3s
Machen Sie nun die Binärdatei ausführbar.
chmod +x k3s
Schritt 3: Starten Sie den K3s-Server
Führen Sie diesen Befehl aus, um K3s auf Ihrem Gerät zu starten:
sudo./k3s server
Schritt 4: Überprüfen Sie Ihr Cluster
Zu diesem Zeitpunkt sollte Ihr Cluster als mi einem Knoten betriebsbereit sein. Führen Sie diesen sudo-Befehl aus, um zu prüfen, ob der Knoten funktioniert.
sudo./k3s kubectl get nodes
Die Ausgabe sollte ähnlich wie unten aussehen.
NAME STATUS ROLES AGE VERSION
Ihr-Hostname Ready control-plane,master 65s v1.23.5+k3s1
Schritt 5: Verwalten Ihres Clusters
K3s bietet ein eingebautes kubectl-Dienstprogramm. Sie können die meisten kubectl-Befehle über die K3s-Binärdatei ausführen.
Um den von Ihnen erstellten Knoten zu entleeren, verwenden Sie zum Beispiel den folgenden Befehl.
sudo./k3s kubectl drain Ihr-Hostname
Um einen Knoten zu sperren, verwenden Sie den folgenden Befehl.
sudo./k3s kubectl cordon Ihr-Hostname
Hinzufügen von Knoten zu einem K3s-Cluster
In den obigen Schritten haben wir einen Cluster mit nur einem Knoten erstellt. Wenn Sie einen Knoten zu Ihrem Cluster hinzufügen möchten, ermitteln Sie zunächst den Node-Token-Wert Ihres Rancher-Servers. Diesen erhalten Sie durch Ausführen des folgenden Befehls.
cat /var/lib/rancher/k3s/server/node-token
Der Wert sollte eine Zeichenfolge aus Zahlen und Buchstaben sein. Hier ist zum Beispiel die Ausgabe aus unserer Testumgebung.
K109577d4b65c338968b8349fd29cfef99280a1b14a4ff3464c4251d556a4fa668a::server:e43aee47b7f81c5b783b8a1d4e1739ce
Laden Sie dann auf dem Rechner, der als zusätzlicher Knoten dienen soll, die K3s-Binärdatei herunter und führen Sie Folgendes aus.
sudo./k3s agent --server https://myserver:6443 --token NODE-TOKEN
Achten Sie darauf, dass Sie den NODE-TOKEN-Wert in diesem Befehl durch den Knoten-Token Ihres K3s-Servers ersetzen.
Wiederholen Sie diesen Vorgang, um Ihrem Cluster so viele Knoten hinzuzufügen, wie Sie möchten.
Weiter gehen
Es gibt noch viele weitere Funktionen für K3s, wie zum Beispiel Netzwerkeinstellungen oder die Konfiguration von Protokollen, das Anpassen der Container-Laufzeit und Einrichten von Zertifikaten. In der K3s-Dokumentation finden Sie eine ausführliche Beschreibung aller Möglichkeiten, die Sie mit einem aktiven K3s-Cluster nutzen können.