Single-Node cluster
In een single-node cluster wordt de server-node automatisch schedulable waardoor de workloads op de (enige) server kunnen draaien.
Als voorwaarde om K3s te kunnen draaien, dient de cgroup memory ingesteld te worden. Deze is standaard niet ingesteld dus is een aanpassing nodig in /boot/cmdline.txt (Raspbian) of in /boot/firmware/cmdline.txt (Ubuntu). Voeg de volgende tekst toe achteraan de reeds bestaande regel:
cgroup_memory=1 cgroup_enable=memory
Een herstart is hierna nodig!
De installatie van een single-node cluster met K3S kan met de volgende commando’s uitgevoerd worden:
- Download K3S via https://github.com/k3s-io/k3s/releases en start de server:
$sudo -i
#wget https://github.com/k3s-io/k3s/releases/download/v1.21.2%2Bk3s1/k3s
#chmod +x ./k3s
#mv ./k3s /usr/local/bin/k3s
#k3s server &
Inplaats van de k3s-server met een commando op te starten, kun je K3S ook via systemd laten runnen (autostart) en daarvoor wordt dan een installatie-script gebruikt:
$sudo -i
#curl -sfL https://get.k3s.io | sh -
Om te controleren of de server draait kan het volgende commando gebruikt worden:
# k3s kubectl get nodes
NAME STATUS ROLES AGE VERSION
ubuntu-desktop Ready control-plane,master 5m22s v1.21.2+k3s1
# k3s kubectl get pods -A
NAMESPACE NAME READY STATUS RESTARTS AGE
kube-system local-path-provisioner-5ff76fc89d-6k9zh 1/1 Running 0 5m45s
kube-system metrics-server-86cbb8457f-vhd6k 1/1 Running 0 5m45s
kube-system coredns-7448499f4d-dz52l 1/1 Running 0 5m45s
kube-system helm-install-traefik-crd-77bqk 0/1 Completed 0 5m45s
kube-system helm-install-traefik-wclst 1/1 Running 1 5m45s
Remote installatie van K3S m.b.v. k3sup
Met behulp van k3sup (https://k3sup.dev) kan een K3S installatie uitgevoerd worden over ssh met als voordeel dat een kubeconfig bestand wordt gegenereerd op de lokale host:
$ k3sup install --ip {server_ip} --user {username}
Zie verder de demo van k3sup.