

Wat is CentOS 8 Stream?
Je weet misschien al dat CentOS een Linux-distributie is. Misschien weet je ook dat het een gratis, door de gemeenschap ondersteund computerplatform biedt dat functioneel compatibel is met Red Hat Enterprise Linux (RHEL). Het 'nieuwe' CentOS, dat CentOS Stream wordt genoemd, werkt echter andersom. Functies worden eerst uitgebracht op CentOS Stream en pas daarna op RHEL. Dit betekent dat CentOS Stream vergelijkbaar zal zijn met Fedora. Aangezien de meeste bugs zullen worden gepatcht op Fedora en CentOS Stream voordat ze worden uitgebracht op RHEL, zou RHEL het meest stabiel moeten zijn.
Op dit moment is er nog een 'gewone' CentOS 8 die je kunt downloaden, maar dit zal snel veranderen. CentOS heeft verklaard dat 'de toekomst CentOS Stream is' en heeft de EOL-datum voor CentOS 8 vastgesteld op 31 december 2021.
Wat is Rancher?
De officiële website beschrijft Rancher als 'een complete softwarestack voor teams die containers gebruiken'. Rancher pakt de operationele en beveiligingsuitdagingen aan van het beheren van meerdere Kubernetes-clusters op elke infrastructuur, terwijl het DevOps-teams voorziet van geïntegreerde tools voor het uitvoeren van gecontaineriseerde workloads. Het is in feite een tool die een eenvoudige manier biedt om een of meer Kubernetes-clusters op te zetten en die veel functies out of the box biedt, zoals beveiliging, een gecentraliseerde softwarecatalogus, geünificeerd clusterbeheer en nog veel meer. Kortom, Rancher is de software die draait op een Kubernetes-cluster.
Wat is RKE2?
Je kunt een Kubernetes-cluster maken met RKE2 (of RKE1), maar dit is geen vereiste. RKE2 (Rancher Kubernetes Engine), ook bekend als RKE Gov(ernment), is in feite een combinatie van RKE1 en K3s.
- Van K3s erft het de bruikbaarheid, het bedieningsgemak en het implementatiemodel.
- Van RKE1 erft het de nauwe afstemming met upstream Kubernetes.
RKE2 vertrouwt niet op Docker. In plaats daarvan lanceert het besturingsvlak componenten als statische pods, beheerd door het kubelet. De embedded container runtime is ingebouwd. Het onderstaande diagram toont de topologie van een RKE2-cluster.

Meer informatie over de RKE2-architectuur vindt u hier.
Knooppunten opzetten
Bij het opzetten van nodes heb je de keuze om een server (master) node of een agent (worker) node op te zetten. In beide gevallen wil je dit proces automatiseren met Ansible. Je wilt immers niet elke keer de stappen herhalen als je een nieuwe node opzet.

In deze blogpost zetten we deze architectuur op met RKE2.

Zorg ervoor dat de namen van de node oplosbaar zijn via DNS en voeg DNS entries toe. Op die manier kan elk knooppunt een DNS-opzoeking doen om verbinding te maken met andere knooppunten.
Bijvoorbeeld:
server1.example.com IN A 10.100.100.1 server2.example.com IN A 10.100.100.2 server3.example.com IN A 10.100.100.3 agent1.example.com IN A 10.100.100.11 agent2.example.com IN A 10.100.100.12 agent3.example.com IN A 10.100.100.13
Afhankelijk van het type node, installeer je het rke2-server of rke2-agent pakket met Yum. Zorg ervoor dat je de volgende Yum repositories toevoegt zodat de pakketten geïnstalleerd kunnen worden:
[rancher-rke2-common-latest] name=Rancher RKE2 Common Latest baseurl=https://rpm.rancher.io/rke2/latest/common/centos/8/noarch enabled=1 gpgcheck=1 gpgkey=https://rpm.rancher.io/public.key [rancher-rke2-1-18-latest] name=Rancher RKE2 1.18 Latest baseurl=https://rpm.rancher.io/rke2/latest/1.18/centos/8/x86_64 enabled=1 gpgcheck=1 gpgkey=https://rpm.rancher.io/public.key
Aangezien we nftables gebruiken, zullen we firewalld uitschakelen en nftables inschakelen.
systemctl stop firewalld systemctl disable firewalld systemctl start nftables systemctl enable nftables
Als je een standaard DENY beleid gebruikt, moet je nftables regels toevoegen in /etc/nftables/main.nft om het vereiste verkeer toe te staan. De documentatie hiervoor is hier te vinden.

De eerste servernode instellen
Installeer eerst het rke2-server pakket.
yum installeer rke2-server
Voeg vervolgens de knooppuntconfiguratie toe aan /etc/rancher/rke2/config.yaml.
write-kubeconfig-mode: "0644" tls-san: - "example.com" node-label: - "nodetype=master" cluster-cidr: "10.42.0.0/16" service-cidr: "10.43.0.0/16" cluster-dns: "10.43.0.10" cluster-domein: "example.com".
Voeg vervolgens extra configuratie toe aan /etc/sysconfig/rke2-server. Als je een proxyserver gebruikt, moet je die in deze stap toevoegen.
HOME=/root RKE2_SELINUX=true http_proxy=http://proxy.example.com:80/ https_proxy=http://proxy.example.com:80/ ftp_proxy=http://proxy.example.com:80/ no_proxy=.example.com,169.254.169.254,10.0.0/24
Daarnaast moet je Canal instrueren dat je nftables gebruikt, zoals hier is gedocumenteerd. Er moet een bestand /var/lib/rancher/rke2/server/manifests/rke2-canal-config.yaml aangemaakt worden.
2 3 4 5 6 7 8 9 apiVersion: helm.cattle.io/v1 kind: HelmChartConfig metadata: name: rke2-canal namespace: kube-system spec: valuesContent: |- calico: felixIptablesBackend: "nft
Nu kun je de rke2-server starten met de gegeven informatie.
systemctl start rke2-server systemctl enable rke2-server
Je kunt nu je kubectl configureren voor gemakkelijke toegang, zoals hier gedocumenteerd.
Volg de voortgang met de volgende commando's:
kubectl get nodes kubectl get pods -A
Zoek en noteer het token ergens veilig. Je hebt dit token nodig om de andere nodes aan het cluster toe te voegen.
cat /var/lib/rancher/rke2/server/node-token
De loadbalancer instellen voor het eerste serverknooppunt
Deze stap is sterk afhankelijk van de loadbalanceroplossing die in het datacenter of in de cloud draait. Er moet een DNS-vermelding worden aangemaakt die naar de loadbalancer wijst, bijvoorbeeld server-loadbalancer.example.com Wanneer het verzoek de loadbalancer bereikt, moet deze de verzoeken doorsturen naar het serverknooppunt. Dit zou moeten werken voor TCP-poorten 9345 en 6443. Zorg ervoor dat op dit punt alleen het serverknooppunt dat we in de vorige stap hebben geconfigureerd de verzoeken krijgt. Je kunt hier meer informatie vinden.

Extra serverknooppunten instellen
yum installeer rke2-server
Voeg dan de knooppuntconfiguratie toe aan /etc/rancher/rke2/config.yaml.
server: https://server-loadbalancer.example.com:9345 token: [token uit /var/lib/rancher/rke2/server/node-token op agent1] write-kubeconfig-mode: "0644" tls-san: - "example.com".
Voeg vervolgens extra configuratie toe aan /etc/sysconfig/rke2-server. Nogmaals, als je een proxyserver gebruikt, moet je dit hier toevoegen.
HOME=/root RKE2_SELINUX=true http_proxy=http://proxy.example.com:80/ https_proxy=http://proxy.example.com:80/ ftp_proxy=http://proxy.example.com:80/ no_proxy=.example.com,169.254.169.254,10.0.0/24
Nu kun je de rke2-server starten met de gegeven informatie.
systemctl start rke2-server systemctl enable rke2-server
Dat is het! Herhaal deze stappen voor alle extra server nodes.
De andere knooppunten toevoegen aan de loadbalancer voor de serverknooppunten
Voeg alle aangemaakte servernodes toe als doel voor de loadbalancer.

Agent Nodes instellen
Afgezien van het installeren van een ander yum pakket, is de setup vergelijkbaar met het toevoegen van extra server nodes
Installeer eerst het pakket rke2-agent.
yum installeer rke2-agent
Voeg vervolgens de knooppuntconfiguratie toe aan /etc/rancher/rke2/config.yaml.
server: https://server-loadbalancer.example.com:9345 token: [token uit /var/lib/rancher/rke2/server/node-token op agent1] write-kubeconfig-mode: "0644" tls-san: - "example.com".
Voeg vervolgens extra configuratie toe aan /etc/sysconfig/rke2-agent. Nogmaals, als je een proxyserver gebruikt, moet je dit hier toevoegen.
HOME=/root RKE2_SELINUX=true http_proxy=http://proxy.example.com:80/ https_proxy=http://proxy.example.com:80/ ftp_proxy=http://proxy.example.com:80/ no_proxy=.example.com,169.254.169.254,10.0.0/24
Nu kun je de rke2-agent starten met de gegeven informatie.
systemctl start rke2-agent systemctl enable rke2-agent
Klaar! Herhaal deze stappen voor alle extra agent nodes.
Rancher installeren
Nu we een functioneel RKE2-cluster hebben, moet je de Rancher-bronnen aan het cluster toevoegen. Je kunt de meeste informatie hierover vinden in deze handleiding van Rancher. In dit geval installeren we dit met behulp van helm.
Helm installeren
Om het eenvoudig te houden, voeren we deze commando's uit op het eerste servernode, omdat kubectl daar al is geconfigureerd. Je kunt ook kubectl en helm op je lokale machine installeren en de kubeconfig naar het cluster wijzen (ervan uitgaande dat het cluster bereikbaar is vanaf je netwerk). Ik adviseer eigenlijk de tweede methode, omdat we geen extra software installeren op de agent node. Om helm te installeren, kun je de stappenhier volgen.
curl -fsSL -o get_helm.sh https://raw.githubusercontent.com/helm/helm/master/scripts/get-helm-3 chmod 700 get_helm.sh ./get_helm.sh
Helm repo toevoegen
Ik raad je aan om hiervoor de stabiele versie te gebruiken.
roer repo toevoegen rancher-stable https://releases.rancher.com/server-charts/stable
Maak een naamruimte voor rancher
De rancher resources worden aangemaakt in deze Kubernetes namespace.
kubectl create naamruimte runcher-systeem
Installeer cert-manager
We zullen nu zelfondertekende certificaten gebruiken. De cert-manager tool kan deze automatisch genereren.Opmerking: als je je eigen certificaten meeneemt, is deze stap niet nodig.
kubectl apply --validate=false -f https://github.com/jetstack/cert-manager/releases/download/v1.0.4/cert-manager.crds.yaml kubectl create namespace cert-manager helm repo add jetstack https://charts.jetstack.io helm repo update helm install \ cert-manager jetstack/cert-manager \ --namespace cert-manager \ --version v1.0.4
Wacht tot de cert-manager pods in een Running status zijn.
kubectl get pods -n cert-manager
NAAM GEREED STATUS RESTARTS LEEFTIJD cert-manager-75dbbd5d6-4pd5j 1/1 Loopt 0 5m cert-manager-cainjector-85c559fd6c-mvwnt 1/1 Loopt 0 5m cert-manager-webhook-6c77dfbdb8-dkvx2 1/1 Loopt 0 5m
Rancher installeren
Je moet het commando uit de documentatie bijwerken naar je eigen voorkeur.
helm upgrade --install rancher rancher-stable/rancher \ --namespace cattle-system \ --set hostname=rancher.example.com \ -set replicas=1 \ -set proxy="http://proxy.example.com:80/" \ -set noProxy=".example.com,169.254.169.254,10.0.0.0/24".
Controleer vervolgens of alle bronnen zijn aangemaakt.
kubectl get pods -A
Als alles goed gaat, is je mooie dashboard beschikbaar op https://rancher.example.com.

En zo installeer je Rancher RKE2 op CentOS Stream 8! Als je vragen hebt, zijn we er om je te helpen. Laat hieronder een reactie achter of neem hier contact met ons op en we nemen zo snel mogelijk contact met je op. En als je geïnteresseerd bent in Kubernetes-diensten, kijk dan wat we voor je kunnen doen!
What others have also read


CloudBrew is altijd een hoogtepunt op onze kalender geweest, maar de editie van 2025 voelde anders. Misschien lag het aan de timing. Slechts een maand eerder, in november 2025, opende de Azure Belgium Central-regio eindelijk haar deuren. ACA opereert
Lees verder

Een betere uptime, lagere kosten en vendor lock-in vermijden. Dat zijn drie van de redenen waarom onze klanten kiezen voor een multicloud-strategie. Onze Cloud project manager Roel Van Steenberghe legt uit wat zo’n strategie precies inhoudt en wat de
Lees verder

In de complexe wereld van moderne softwareontwikkeling worden bedrijven geconfronteerd met de uitdaging om verschillende applicaties die door verschillende teams worden ontwikkeld en beheerd, naadloos te integreren. De Service Mesh is van onschatbare
Lees verderWant to dive deeper into this topic?
Get in touch with our experts today. They are happy to help!

Want to dive deeper into this topic?
Get in touch with our experts today. They are happy to help!

Want to dive deeper into this topic?
Get in touch with our experts today. They are happy to help!

Want to dive deeper into this topic?
Get in touch with our experts today. They are happy to help!


