K3s Cluster installieren

In dieser kurzen Anleitung gehe ich kurz darauf ein, wie wir einen K3s-Cluster installieren können. K3s ist kurz gesagt eine ressourcenoptimierte Version einer Kubernetes-Instanz. Wir können aus mehreren K3s-Instanzen einen Kubernetes-Cluster bauen. Wie wir diese Installation durchführen, wird in der folgenden Anleitung kurz beschrieben.

Installation

Um das Cluster zu installieren, benötigen wir im ersten Schritt mindestens 3 Linux-Server mit entsprechenden Root-Rechten. Im besten Fall kommunizieren die Cluster-Nodes untereinander über ein extra Netzwerk, welches von außen nicht erreichbar ist.

Master-Node installieren

Um jetzt den Master-Node zu installieren, führen wir auf diesem den folgenden Befehl aus:

apt install curl && curl -sfL https://get.k3s.io | sh -

Sobald das Skript fehlerfrei durchgelaufen ist, läuft der Control-Plane unseres Kubernetes-Clusters. Ob unserer Control-Plane läuft, können wir mit dem folgenden Befehl überprüfen:

kubectl get nodes

Worker Nodes installieren und hinzufügen

Um im nächsten Schritt die Worker-Nodes dem Kubernetes-Cluster des Master-Nodes hinzuzufügen, brauchen wir im ersten Schritt den Cluster-Token. Diesen Token finden wir unter dem folgenden Pfad: /var/lib/rancher/k3s/server/node-token

Der Inhalt der Datei sieht dann zum Beispiel wie folgt aus:
K10b02c9d094b28ce8099ca6bbded97e68f7734af130f8a19103cdc7dfc8bf89cda::server:4f03364535d090536b282a9d2d22681a

Es wird von dem ganzen Inhalt nur der Inhalt ab server: benötigt (Fettgeschriebener Bereich). Dies ist unser Cluster-Token, der verwendet wird, um unserem Kubernetes-Cluster beizutreten.

Um dem Cluster jetzt beizutreten, führen wir den folgenden Befehl aus. Dabei muss beachtet werden, dass die IP-Adresse des Master-Nodes und der Cluster-Token eingefügt werden muss.

curl -sfL https://get.k3s.io | K3S_URL=https://<ip-master-node>:6443 K3S_TOKEN=<cluster-token> sh -

Sobald das Skript durchgelaufen ist, sollte der Node dem Cluster beigetreten sein. Dies können wir wieder überprüfen, indem wir auf dem Master-Node wieder den Befehl kubectl get nodes ausführen. Wenn in der folgenden Auflistung alle Worker-Nodes auftauchen, sind diese Nodes dem Cluster erfolgreich beigetreten.