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