Introducing ZYNOO General Purpose & CPU Optimized Servers   Learn More >

Kubernetes op Ubuntu installeren met K3s

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?.

Kubernetes op Ubuntu installeren met K3s

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.

Heb je een Ubuntu VPS nodig voor Kubernetes?
Implementeer K3s met roottoegang en flexibele serverresources.
Bekijk Ubuntu VPS →

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.

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

Is K3s hetzelfde als Kubernetes?

K3s is een gecertificeerde Kubernetes-distributie. Het biedt Kubernetes-functionaliteit, maar vereenvoudigt de installatie en vermindert de beheerlast.

Kan ik Kubernetes op een VPS installeren?

Ja. Je kunt K3s draaien op een Linux VPS met voldoende CPU-capaciteit, RAM, opslagruimte en beheerderstoegang.

Is K3s geschikt voor productie?

K3s kan in productie worden gebruikt, maar de betrouwbaarheid hangt af van de clusterarchitectuur, capaciteit, het netwerk, de beveiliging en de back-upconfiguratie.

Kan ik K3s later verwijderen?

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.

Table of Content

Een Nginx-reverseproxy ontvangt verzoeken van websitebezoekers en stuurt ze door naar een andere server of

Een 502 Bad Gateway-fout in Nginx betekent meestal dat Nginx geen geldig antwoord heeft ontvangen

Een 504 Gateway Timeout-fout treedt op wanneer een server die als gateway of proxy fungeert,

Build your next project with ZYNOO

From your first website to demanding applications, choose the resources and control you need.

Shared Hosting

Start your blog or business website with cPanel, LiteSpeed and CloudLinux.

VPS Hosting

Grow your websites and applications with NVMe storage, KVM virtualization and full root access.

Dedicated Servers

Power demanding projects with your own physical server, dedicated resources and control over your environment.

Scroll naar boven