Wil je Kubernetes op Ubuntu installeren zonder zelf een ingewikkeld cluster te configureren? K3s is een lichtgewicht Kubernetes-distributie die de installatie vereenvoudigt. Daardoor is het een praktische keuze voor ontwikkelaars die Kubernetes leren gebruiken op een VPS.
In deze handleiding leer je hoe je Kubernetes op Ubuntu 24.04 installeert met K3s, een cluster met één node opzet, een Nginx-applicatie implementeert en controleert of alles werkt.
Je hoeft Docker niet te installeren of een afzonderlijke containerruntime te configureren.
Wat is K3s en waarom zou je het gebruiken?
K3s is een lichtgewicht, door de CNCF gecertificeerde Kubernetes-distributie die is ontworpen om de installatie en het beheer van Kubernetes minder complex te maken.
De distributie bundelt essentiële onderdelen, waaronder een containerruntime en clusternetwerkfunctionaliteit, in een vereenvoudigde installatie.
Anders dan bij een traditionele Kubernetes-installatie met kubeadm, verzorgt K3s een groot deel van de initiële configuratie automatisch.
Een K3s-installatie met één node vormt een functioneel Kubernetes-cluster en is daarmee geschikt voor ontwikkeling, testen en leren.
Ben je nog niet bekend met Kubernetes-concepten zoals Pods en Deployments? Lees dan eerst onze handleiding Wat is Kubernetes?.

Vereisten
Voordat je begint, heb je het volgende nodig:
- Een server met Ubuntu 24.04 LTS.
- SSH-toegang met sudo-rechten.
- Minimaal 2 CPU-cores en 2 GB RAM.
- Bij voorkeur 4 GB RAM of meer om prettig te kunnen leren.
- Voldoende SSD-opslagruimte en internettoegang om containerimages te downloaden.
K3s vermeldt officieel 2 CPU-cores en 2 GB RAM als minimumvereisten voor een servernode. Voor de daadwerkelijke workloads kan meer nodig zijn.
Beveiligingsopmerking: Zorg dat SSH bereikbaar blijft en beperk de toegang tot de Kubernetes-API op poort 6443. Voor deze handleiding hoef je die poort niet publiek toegankelijk te maken. Gebruik je UFW of een andere firewall? Bekijk dan vóór de installatie de officiële netwerkvereisten van K3s.
Stap 1: Werk je Ubuntu-server bij
Maak via SSH verbinding met je Ubuntu-server en werk de pakketgegevens bij:
sudo apt update
sudo apt upgrade -y
Controleer de Ubuntu-versie:
lsb_release -a
Je zou Ubuntu 24.04 LTS moeten zien.
Start de server opnieuw op als systeemupdates dat vereisen en maak daarna opnieuw verbinding via SSH.
K3s installeert zijn eigen containerruntime, dus Docker Engine is niet nodig.
Stap 2: Installeer Kubernetes op Ubuntu met K3s
K3s biedt een officieel installatiescript.
De standaardinstallatieopdracht is:
curl -sfL https://get.k3s.io | sh -
Hiermee wordt het installatieprogramma van K3s gedownload en uitgevoerd. Neem de officiële installatie-instructies en het installatieprogramma door voordat je het uitvoert, vooral op een productieserver.
Tijdens de installatie wordt K3s geconfigureerd als een systemd-service en worden hulpprogramma’s voor Kubernetes-beheer geïnstalleerd.
Controleer de service zodra het proces is afgerond:
sudo systemctl status k3s
Zoek naar:
Active: active (running)
Druk op q om de statusweergave te sluiten.
Als de service actief is, is je Kubernetes-installatie met succes gestart.
Stap 3: Controleer je Kubernetes-cluster
K3s bevat een eigen kubectl-opdrachtregelprogramma voor het beheren van Kubernetes-resources.
Voer het volgende uit:
sudo k3s kubectl get nodes
Nadat het cluster is geïnitialiseerd, zie je uitvoer die hierop lijkt:
NAME STATUS ROLES AGE VERSION
ubuntu-vps Ready control-plane,master 2m v1.xx.x+k3s1
Je hostnaam en Kubernetes-versie zullen anders zijn.
De belangrijke waarde is Ready. Die geeft aan dat Kubernetes de node beschikbaar acht voor workloads.
Controleer vervolgens de systeem-Pods:
sudo k3s kubectl get pods -A
Hiermee worden Pods uit alle namespaces weergegeven, waaronder Kubernetes-systeemservices.
Het kan even duren voordat sommige onderdelen zijn geïnitialiseerd. Controleer het opnieuw als ze nog opstarten.
Nu je K3s hebt gebruikt om Kubernetes op Ubuntu te installeren, is je cluster klaar om applicaties in containers uit te voeren. Laten we Nginx implementeren om te controleren of alles werkt.
Stap 4: Implementeer je eerste applicatie
Nu het cluster draait, gaan we een eenvoudige Nginx-webserver implementeren.
Maak een Deployment aan:
sudo k3s kubectl create deployment demo-nginx --image=nginx:stable
Kubernetes maakt een Deployment aan die een Nginx-container beheert.
Controleer de voortgang:
sudo k3s kubectl get deployments
Wacht tot de Deployment één beschikbare replica weergeeft.
Je kunt ook de bijbehorende Pod bekijken:
sudo k3s kubectl get pods
De Pod zou uiteindelijk de status Running moeten tonen, met een container die klaar is voor gebruik.
Als je ContainerCreating ziet, wordt de containerimage mogelijk nog gedownload.
Stap 5: Maak een Kubernetes-Service aan
Een Kubernetes-Service biedt een stabiel netwerkeindpunt om toegang te krijgen tot een applicatie, zelfs als de Pods ervan worden vervangen.
Maak de Nginx-Deployment intern toegankelijk:
sudo k3s kubectl expose deployment demo-nginx --type=ClusterIP --port=80
Controleer de Service:
sudo k3s kubectl get services
Je zou een Service met de naam demo-nginx moeten zien, met een ClusterIP-adres en poort 80.
Het type ClusterIP maakt de applicatie beschikbaar binnen het Kubernetes-cluster. Nginx wordt hiermee niet rechtstreeks toegankelijk vanaf het openbare internet.
Stap 6: Test je Nginx-applicatie
We gebruiken portforwarding van Kubernetes om de applicatie te testen zonder een publiek toegankelijke loadbalancer te configureren.
Voer het volgende uit:
sudo k3s kubectl port-forward service/demo-nginx 8080:80
Laat deze SSH-sessie open.
De opdracht stuurt verkeer van poort 8080 op de loopbackinterface van de server door naar poort 80 van de Nginx-Service.
Open een tweede SSH-verbinding met dezelfde server en voer het volgende uit:
curl http://127.0.0.1:8080
Je zou HTML met de standaardwelkomstpagina van Nginx moeten ontvangen.
Gelukt! Je hebt Kubernetes op Ubuntu geïnstalleerd met K3s, een applicatie in een container geïmplementeerd en deze via een Kubernetes-Service bereikt.
Druk in de eerste sessie op Ctrl+C om de portforwarding te stoppen.
Deze test controleert alleen lokale toegang. Om een applicatie publiek toegankelijk te maken, is aanvullende configuratie nodig voor netwerktoegang, DNS, TLS en beveiliging.
Veelvoorkomende installatieproblemen met K3s
De K3s-service start niet
Controleer de servicelogboeken:
sudo journalctl -u k3s -n 50
Let op problemen met rechten of het netwerk en op onderdelen die niet zijn gestart.
De Kubernetes-node heeft de status NotReady
Bekijk de details van de node:
sudo k3s kubectl describe node
Onderzoek de gemelde condities, het gebruik van systeemresources en het netwerk.
De Nginx-Pod draait niet
Bekijk de Pod:
sudo k3s kubectl get pods
Bekijk vervolgens de gebeurtenissen van de Deployment:
sudo k3s kubectl describe deployment demo-nginx
Mislukte downloads van images, onvoldoende resources of problemen met het clusternetwerk kunnen voorkomen dat Pods starten.
Portforwarding werkt niet
Controleer of de Nginx-Pod klaar is voor gebruik en of de Service bestaat.
Vergeet niet dat de opdracht voor portforwarding moet blijven draaien terwijl je de applicatie vanuit de tweede SSH-sessie test.
Heb je Docker nodig om K3s te draaien?
Nee. K3s bevat containerd, een containerruntime die wordt gebruikt om Kubernetes-workloads uit te voeren.
Je kunt compatibele containerimages implementeren, waaronder images die met Docker zijn gebouwd, zonder Docker Engine op de K3s-server te installeren.
Ben je nog niet bekend met containerisatie? In onze Docker-handleiding voor beginners lees je hoe containers en images werken.
Wat kun je nu doen?
Je cluster met één node is geschikt om met Kubernetes-concepten te experimenteren, maar is niet automatisch een productieklare omgeving met hoge beschikbaarheid.
Voordat je bedrijfskritische applicaties implementeert, moet je rekening houden met:
- Toegangsbeheer voor het cluster en beveiligingsupdates.
- Persistente opslag en back-upprocedures.
- Monitoring en resourcelimieten.
- Veilige toegang tot applicaties via HTTPS.
- Herstel na uitval van een node of server.
Houd er rekening mee dat een cluster met één node nog steeds afhankelijk is van één fysieke of virtuele machine. Kubernetes kan dat ene storingspunt niet wegnemen.
Veelgestelde vragen
K3s is een gecertificeerde Kubernetes-distributie. Het biedt Kubernetes-functionaliteit, maar vereenvoudigt de installatie en vermindert de beheerlast.
Ja. Je kunt K3s draaien op een Linux VPS met voldoende CPU-capaciteit, RAM, opslagruimte en beheerderstoegang.
K3s kan in productie worden gebruikt, maar de betrouwbaarheid hangt af van de clusterarchitectuur, capaciteit, het netwerk, de beveiliging en de back-upconfiguratie.
Ja. K3s biedt een script om het te verwijderen, maar daarbij kunnen clusterresources en lokale workloadgegevens verloren gaan. Maak een back-up van alles wat belangrijk is voordat je K3s verwijdert.
Conclusie
Je weet nu hoe je Kubernetes op Ubuntu installeert met K3s, je cluster met één node controleert en een Nginx-applicatie implementeert.
Met K3s heb je een werkende Kubernetes-omgeving met één node opgezet, Nginx geïmplementeerd, de applicatie via een Service toegankelijk gemaakt en met portforwarding gecontroleerd of die werkt.
Naarmate je meer ervaring opdoet, kun je je verder verdiepen in Deployments, schalen, configuratie en clusterbeheer.