Nun kann es losgehen.
curl -sfL https://get.k3s.io
Test, ob alles klappt
curl -sfL https://get.k3s.io > k3s-install
Ausgabe in eine Datei pipen.
chmod 755 k3s-install
Rechte setzen
./k3s-install server --cluster-init --disable servicelb --tls-san 172.16.155.50
Installation starten. Der Service-LB Loadbalancer gehört ausgeschaltet.
Parameter Erklärung:
--cluster-init brauchte es um den etdc-Dämon zu starten, um dann weitere Nodes aufnehmen zu können
--disable servicelb --> Damit der eigentliche Loadbalancer nicht gestartet wird, da ja Kube-VIP zum Einsatz kommt
--tls-san --> Dieser Parameter wird benötigt damit sich die Nodes an die VIP Joinen können. Kube-vip selber funktioniert auch ohne, die Nodes lehnen das Joinen aber aufgrund der unbekannten IP ab.
Damit weitere Nodes sich mit dem Master verbinden können lässt man sich den Token anzeigen:
root@k3s-n1:~# cat /var/lib/rancher/k3s/server/token
K106f0aa108d904480fcfc2834a5a6xb410c6091eabb8c35:server:2c241b45bex10a8b893778cdbdd40327
Auf den Weiteren Nodes ist auch die Loadbalancer Datei zu erzeugen und dann der folgende Befehl incl Joinen einzugeben.
./k3s-install server --disable servicelb --tls-san 172.16.155.50 --server https://172.16.155.50:6443 --token K10cdx0691a69227df0bb9509a89dx3ad6e5af05b3ee6a7::server:75a0470dbd4ac8b92a6effdfb36d93ca
Passt alles:
root@k3s-n1:~# kubectl get node
NAME STATUS ROLES AGE VERSION
k3s-n1 Ready control-plane,master 82m v1.28.6+k3s2
root@k3s-n1:~# kubectl cluster-info
Kubernetes control plane is running at https://127.0.0.1:6443
CoreDNS is running at https://127.0.0.1:6443/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy
Metrics-server is running at https://127.0.0.1:6443/api/v1/namespaces/kube-system/services/https:metrics-server:https/proxy
