1. Inleiding

Rancher Kubernetes Engine 2 (RKE2) is een security-hardened Kubernetes-distributie, ontwikkeld door Rancher Labs (nu onderdeel van SUSE). Het is ontworpen om Kubernetes-installaties eenvoudiger, veiliger en beter beheersbaar te maken. RKE2 is bijzonder geschikt voor productieomgevingen, edge computing en omgevingen met hoge beveiligingseisen.

1.1. Wat is RKE2?

RKE2 is een opvolger van RKE1, waarbij de nadruk ligt op:

  • Verbeterde beveiliging (CIS-profielen, minder attack surface)
  • Standaard gebruik van containerd i.p.v. Docker
  • Eenvoudige installatie via een script
  • Compatibiliteit met Rancher UI

1.2. Wanneer RKE2 gebruiken?

Gebruik RKE2 wanneer:

  • Je een veilige Kubernetes-omgeving wilt zonder veel handmatige configuratie
  • Je integratie wilt met Rancher voor beheer
  • Je een edge- of productiecluster bouwt

1.3. Waarom Cilium?

Cilium biedt een aantal duidelijke voordelen ten opzichte van de standaard RKE2 CNI en kube-proxy. Waar traditionele CNIs en kube-proxy voornamelijk op iptables of IPVS vertrouwen voor netwerkverkeer, maakt Cilium gebruik van eBPF (Extended Berkeley Packet Filter). Dit levert een efficiëntere datapath op, met lagere latency en hogere schaalbaarheid. Daarnaast biedt Cilium deep visibility in netwerkverkeer en policies, geïntegreerde service mesh functionaliteit zonder sidecars, en een moderne manier om netwerkbeveiliging op basis van identiteit te implementeren in plaats van alleen IP-adressen.

Een belangrijk voordeel is dat Cilium niet alleen de rol van CNI vervult, maar ook kube-proxy volledig kan vervangen, wat de architectuur vereenvoudigt en performance verbetert. Dit maakt Cilium aantrekkelijk voor zowel kleine clusters als grootschalige, productieomgevingen.

Tot slot groeit het marktaandeel van Cilium sterk binnen de Kubernetes-community. Steeds meer organisaties kiezen Cilium als standaard CNI dankzij de combinatie van performance, observability en security. Dit maakt het een toekomstbestendige keuze ten opzichte van de traditionele standaard die RKE2 meelevert.

2. Installatie RKE2

Om een RKE2 cluster te krijgen met Cilium zowel als CNI en als kube-proxy replacement, is het noodzakelijk om de initiele installatie uit te voeren met deze twee onderdelen uitgeschakeld. Met name de kube-proxy laat zich niet zomaar vervangen wanneer deze eenmaal draait. Hiervoor zetten we een aantal settings in het config bestand voordat we de service voor het eerst opstarten.

2.1. De eerste controlplane node

De eerste controlplane node zorgt voor het initialiseren van het cluster. Deze node zou ook op zichzelf kunnen draaien als enige controlplane, maar in een HA opstelling wordt minimaal 3 nodes aangeraden.

curl -sfL https://get.rke2.io | sudo sh -
sudo mkdir -p /etc/rancher/rke2

Dan plaatsen we de volgende config.yaml in de folder: etc/rancher/rke2

token: renzit-rke2-token
tls-san:
    - 192.168.122.61
    - rke2-m1
    - rke2-m1.renzit.nl

node-taint:
    - "CriticalAddonsOnly=true:NoExecute"

disable:
    - rke2-canal
    - rke2-kube-proxy

cni: none

En starten we de service.

sudo systemctl enable --now rke2-server

2.2. Controleren van installatie

sudo journalctl -u rke2-server -f
sudo /var/lib/rancher/rke2/bin/kubectl get nodes

3. Agent nodes toevoegen

3.1. Token ophalen van server node

sudo cat /var/lib/rancher/rke2/server/node-token

3.2. Agent installeren

curl -sfL https://get.rke2.io | sudo INSTALL_RKE2_TYPE="agent" sh -
sudo mkdir -p /etc/rancher/rke2

cat <<EOF | sudo tee /etc/rancher/rke2/config.yaml
server: https://<server-ip>:9345
token: "het_token_van_server"
EOF

sudo systemctl enable rke2-agent
sudo systemctl start rke2-agent

4. Clusterbeheer

4.1. Kubeconfig ophalen

sudo cp /etc/rancher/rke2/rke2.yaml ~/.kube/config
sudo chown $(id -u):$(id -g) ~/.kube/config

4.2. Kubectl gebruiken

kubectl get nodes
kubectl get pods -A

4.3. Integratie met Rancher UI

  • Voeg het cluster toe in Rancher via Import Cluster.

5. Beveiliging en Hardening

  • Schakel CIS-profiel in via configuratie
  • Maak gebruik van RBAC voor toegangsbeheer
  • Sla secrets op in Kubernetes Secrets of HashiCorp Vault

6. Monitoring en Logging

6.1. Installeren van Prometheus & Grafana

  • Via Rancher Apps & Marketplace of Helm chart

6.2. Logs bekijken

sudo tail -f /var/lib/rancher/rke2/agent/logs/*.log

7. Troubleshooting

7.1. Logs controleren

journalctl -u rke2-server -e
journalctl -u rke2-agent -e

7.2. Veelvoorkomende problemen

  • x509: certificate signed by unknown authority → Controleer TLS-SAN in config
  • Node blijft NotReady → Check CNI plugin en netwerkconnectiviteit

8. Upgrades en Onderhoud

sudo apt update rke2-server
sudo systemctl restart rke2-server
  • Maak regelmatig etcd-backups via rke2 etcd-snapshot save.

9. Bijlagen

9.1. Officiële documentatie

9.2. CLI-cheatsheet

kubectl get pods -A
kubectl describe node <node>
kubectl logs <pod>

9.3. YAML-configuratievoorbeelden

  • ConfigMaps, Deployments, Services

Datum: 2025-08-13 Wed 00:00

Gemaakt op: 2026-08-14 Fri 09:32

Emacs 30.2 (Org mode 9.7.11)