Loadbalancing

Wie funktionierts? 

 Standard mässig verwendet k3s die Software "klippert" als Loadbalancer, dieser erstellt sich als dämon set auf dem Cluster, wenn ein Service via Loadbalancer veröffentlicht wird. 

 Verwendung eines anderen Loadbalancer 

 Wenn ein anderer Loadbalancer wie Beispielsweise Metallb verwendet werden möchte, muss klippert entfernt, bzw. deaktiviert werden. 

 Klippert deaktivieren 

 Da k3s kubernetes in einem Binary ist, sollte Klippert beim Start des Servers (Binary) mittels Argument deaktiviert werden. Verwenden Sie dazu das extra Argument " --disable servicelb". Dies können Sie im SystemD-Service File unter "ExecStart" hinzufügen. 

 /etc/systemd/k3s.service 

 Das zusatz Argument finden Sie auf der 10ten Zeile. 

 [Unit]

Description=Lightweight Kubernetes

Documentation=https://k3s.io

After=network-online.target

[Service]

Type=notify

ExecStartPre=-/sbin/modprobe br_netfilter

ExecStartPre=-/sbin/modprobe overlay

ExecStart=/usr/local/bin/k3s server --data-dir /var/lib/rancher/k3s --disable servicelb

KillMode=process

Delegate=yes

# Having non-zero Limit*s causes performance problems due to accounting overhead

# in the kernel. We recommend using cgroups to do container-local accounting.

LimitNOFILE=1048576

LimitNPROC=infinity

LimitCORE=infinity

TasksMax=infinity

TimeoutStartSec=0

Restart=always

RestartSec=5s

[Install]

WantedBy=multi-user.target 

  