Introducing ZYNOO General Purpose & CPU Optimized Servers   Learn More >

Wat is Kubernetes? Hoe werkt het en wat zijn de belangrijkste voordelen?

Wat is Kubernetes? Kubernetes, ook wel K8s genoemd, is een open-sourceplatform voor containerorkestratie dat de implementatie en het beheer van gecontaineriseerde applicaties automatiseert. Het helpt teams om applicaties op meerdere servers te draaien, defecte workloads te vervangen en diensten op te schalen wanneer de vraag verandert.

Als je website prima op één server draait, is Kubernetes wellicht niet nodig. Maar wanneer een applicatie uit meerdere services bestaat, regelmatig wordt bijgewerkt of hoge eisen stelt aan de beschikbaarheid, kan het de bedrijfsvoering vereenvoudigen.

Laten we eens kijken hoe Kubernetes werkt, waar het nuttig is en wat je nodig hebt om het te gebruiken.

Hoe werkt Kubernetes?

Kubernetes beheert een cluster: een groep fysieke of virtuele machines die resources leveren voor applicaties. In plaats van elke server precies te vertellen welke container hij moet starten, beschrijf je de gewenste toestand, en Kubernetes zorgt ervoor dat deze in stand wordt gehouden.

Dit zijn de belangrijkste componenten waarmee je te maken krijgt:

  • Besturingslaag: Coördineert het cluster, verwerkt verzoeken en bepaalt waar workloads moeten worden uitgevoerd.
  • Knooppunten: servers die CPU, geheugen en andere resources voor applicaties leveren.
  • Pods: De kleinste inzetbare eenheden in Kubernetes, die doorgaans één container bevatten, hoewel ze er ook meerdere kunnen bevatten.
  • Deployments: definiëren en onderhouden het gewenste aantal replicaties van applicaties en beheren doorlopende updates.
  • Services: bieden stabiele netwerktoegang tot een wisselende set van pods.

Stel dat je webwinkel drie exemplaren van de backend nodig heeft om verzoeken van klanten te verwerken. Je configureert een Deployment voor drie replica’s, en Kubernetes plant de Pods in op nodes met voldoende capaciteit. Als een Pod uitvalt, zorgt Kubernetes ervoor dat deze wordt vervangen.

Deze aanpak wordt declaratief beheer genoemd: je geeft aan wat er moet draaien, in plaats van elke container handmatig te beheren.

Belangrijkste voordelen van Kubernetes

1. Geautomatiseerd herstel

Kubernetes kan defecte containers opnieuw opstarten, ongezonde pods vervangen en in aanmerking komende workloads opnieuw inplannen wanneer een node uitvalt. Dit vermindert handmatige interventie, hoewel herstel afhankelijk is van beschikbare resources en een correcte configuratie.

2. Flexibele schaalbaarheid

Je kunt het aantal replicaties van applicaties handmatig verhogen of een Horizontal Pod Autoscaler (HPA) configureren om deze aan te passen op basis van metrics zoals CPU-gebruik. Automatische schaalbaarheid van replicaties vereist een werkende metrics-pijplijn en voldoende clustercapaciteit; Kubernetes creëert zelf geen extra serverbronnen.

3. Vlottere applicatie-updates

Deployments ondersteunen stapsgewijze updates, waardoor nieuwe applicatieversies oude replica’s geleidelijk kunnen vervangen. Wanneer een update problemen veroorzaakt, ondersteunt Kubernetes ook het terugdraaien naar een eerdere revisie van de Deployment.

4. Service-detectie en resourcebeheer

Kubernetes-services bieden applicaties stabiele manieren om te communiceren, zelfs wanneer pods veranderen. CPU- en geheugenverzoeken helpen de scheduler bovendien om workloads op geschikte nodes te plaatsen.

Waarvoor wordt Kubernetes gebruikt?

Kubernetes is vooral nuttig voor applicaties die coördinatie nodig hebben die verder reikt dan één enkele server. Veelvoorkomende voorbeelden zijn onder meer:

  • E-commerceplatforms: Zorg ervoor dat er tijdens drukke periodes meerdere storefronts of API-replica’s beschikbaar zijn.
  • SaaS-producten: Beheer meerdere klantgerichte diensten en voer regelmatig updates door.
  • Microservices: Coördineer onafhankelijk geïmplementeerde services met consistente netwerk- en implementatieregels.
  • Achtergrondverwerking: Voer geplande taken en verwerkingstaken uit naast applicatieservices.

Kubernetes is niet voorbehouden aan grote ondernemingen, maar bij kleinere projecten moet men deze voordelen afwegen tegen de inspanning die het beheer van een cluster met zich meebrengt.

Kubernetes versus Docker: wat is het verschil?

Docker en Kubernetes hebben verschillende functies. Docker helpt bij het bouwen en uitvoeren van containers; Kubernetes coördineert gecontaineriseerde workloads. U kunt met Docker een applicatie-image bouwen en dat image vervolgens in Kubernetes implementeren met behulp van een compatibele container-runtime, zoals containerd.

Zie onze gids ‘Wat is Docker?’ voor een eenvoudige inleiding tot containers. Als je moet kiezen tussen Docker Compose en Kubernetes, lees dan onze vergelijking tussen Docker en Kubernetes.

Kun je Kubernetes op een VPS draaien?

Ja. Kubernetes kan op virtuele privéservers (VPS’en) met Linux worden uitgevoerd, mits je over voldoende resources, beheerdersrechten en compatibele netwerkvoorzieningen beschikt. Je kunt een leeromgeving met één node op één VPS opzetten of meerdere servers combineren tot een cluster.

Een opstelling met één node is handig voor testdoeleinden, maar biedt geen bescherming tegen uitval van de onderliggende server. Productieomgevingen die hoge beschikbaarheid vereisen, hebben doorgaans meerdere nodes nodig, evenals een geschikte netwerkopstelling, permanente opslag, monitoring en een veerkrachtig besturingsvlak.

De Linux VPS-hosting van Zynoo biedt root-toegang voor zelfbeheerde omgevingen, terwijl dedicated servers een optie zijn wanneer u dedicated hardware nodig hebt voor clusterknooppunten.

Houd er rekening mee dat het installeren van Kubernetes, het configureren van het clusternetwerk en het onderhoud van de software aparte verantwoordelijkheden zijn, los van het huren van de servers. Ga er niet vanuit dat een VPS-pakket beheerde Kubernetes omvat.

Wanneer moet je Kubernetes gebruiken?

Overweeg Kubernetes als uw applicatie meerdere serverknooppunten, meerdere replicaties van services of frequente gecoördineerde implementaties nodig heeft. Het is ook nuttig wanneer handmatig herstel en schaalbaarheid moeilijk te beheren zijn geworden.

Voor een kleine website, een persoonlijk project of een paar diensten die betrouwbaar op één VPS draaien, heb je waarschijnlijk geen Kubernetes nodig. In die gevallen is Docker Compose wellicht eenvoudiger en goedkoper in gebruik.

Het grootste nadeel van Kubernetes is de complexiteit: clusterupgrades, beveiligingsrechten, netwerken, opslag en monitoring vragen allemaal om aandacht. De software is open source, maar de infrastructuur en het beheer zijn niet gratis.

Aan de slag met Kubernetes

Begin voor leerdoeleinden met een lokaal cluster met behulp van een tool zoals Minikube of kind. Volg de officiële Kubernetes-tutorials om een voorbeeldtoepassing te implementeren en Pods, Deployments en Services te verkennen.

Zodra een cluster draait en de ` kubectl ` is geconfigureerd, kun je de knooppunten ervan inspecteren met:

kubectl get nodes

Zorg ervoor dat je, voordat je naar de productieomgeving overgaat, plannen hebt voor back-ups, toegangscontrole, monitoring, netwerkconfiguratie en wat er gebeurt als een node niet meer beschikbaar is.

Veelgestelde vragen

Is Kubernetes gratis?

Kubernetes is open-source software, dus er zijn geen licentiekosten voor Kubernetes. Je betaalt wel voor servers, opslag, netwerkvoorzieningen en eventueel een beheerde dienst of technisch beheer.

Is Kubernetes alleen bedoeld voor grote applicaties?

Nee. Je kunt het ook voor kleinere workloads gebruiken, maar dat betekent niet dat je dat ook moet doen. De voordelen komen het best tot hun recht wanneer beheer op clusterniveau een concreet probleem oplost.

Kan Kubernetes Docker-images uitvoeren?

Ja. Kubernetes kan compatibele containerimages uitvoeren die met Docker zijn gebouwd. Het maakt doorgaans gebruik van container-runtimes zoals containerd of CRI-O, in plaats van rechtstreeks Docker Engine.

Garandeert Kubernetes dat er geen downtime is?

Nee. Meerdere replica’s, correcte statuscontroles en een robuuste infrastructuur kunnen de beschikbaarheid verbeteren, maar ze sluiten niet elke mogelijke storing uit.

Conclusie

Kubernetes maakt het beheer van gecontaineriseerde applicaties verspreid over meerdere servers voorspelbaarder. Het kan de planning van workloads, herstel, schaalbaarheid en gecontroleerde updates afhandelen, maar brengt ook extra verantwoordelijkheden op het gebied van infrastructuur en beheer met zich mee.

Begin bij een project met één server eenvoudig. Wanneer uw applicatie daadwerkelijk automatisering op clusterniveau nodig heeft, is Kubernetes een praktische volgende stap.

Table of Content

Een WordPress-stagingwebsite is een privékopie van je live website waarop je updates, plugins, thema’s en

Zo werk je PHP veilig bij voor WordPress: controleer je huidige PHP-versie, maak een back-up

Door de Ubuntu-firewall met UFW (Uncomplicated Firewall) te configureren, help je je VPS te beschermen:

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