Wat is Kubernetes (K8s)? Uitleg over Kubernetes

Home Woordenlijst Wat is Kubernetes (K8s)? Uitleg over Kubernetes

Kubernetes (vaak afgekort tot K8s) is een open-source platform om containers te draaien en te beheren over een cluster van servers. Waar Docker losse containers draait, bepaalt Kubernetes op welke server elke container draait, herstart het containers die falen, schaalt het ze mee met de vraag en rolt het nieuwe versies uit zonder downtime. Kubernetes is oorspronkelijk ontwikkeld bij Google, in 2014 uitgebracht, en wordt nu beheerd door de Cloud Native Computing Foundation (CNCF).

Hoe werkt Kubernetes?

U beschrijft de gewenste situatie in configuratiebestanden (meestal YAML), bijvoorbeeld "draai drie instanties van deze API, bereikbaar op dit adres". Kubernetes vergelijkt de werkelijke situatie voortdurend met die gewenste situatie en herstelt elk verschil. De belangrijkste bouwstenen:

  • Cluster en nodes: een cluster bestaat uit een control plane en worker nodes, de servers waarop containers draaien.
  • Pod: de kleinste eenheid, een of meer containers die bij elkaar horen.
  • Deployment: beheert een set identieke pods en regelt geleidelijke updates en terugdraaien.
  • Service en Ingress: geven pods een vast netwerkadres en sturen verkeer van buiten naar de juiste service.
  • ConfigMaps en Secrets: configuratie en gevoelige waarden, los van de images.
  • Autoscaling: bij drukte worden automatisch extra pods of nodes toegevoegd, en weer verwijderd als het rustiger wordt.

Voordelen van Kubernetes

Kubernetes biedt zelfherstel (gefaalde containers worden automatisch vervangen), uitrollen zonder downtime, automatisch schalen en een uniforme manier om applicaties te draaien in elke cloud of in een eigen datacenter. Met een ecosysteem van tools zoals Helm (pakketten), Prometheus (monitoring) en Argo CD (GitOps-deployments) is het het standaardplatform geworden voor grotere microservices-omgevingen.

Hebt u Kubernetes nodig?

Vaak niet. Kubernetes is krachtig maar complex: iemand moet het cluster begrijpen, beveiligen, bewaken en bijwerken. Voor één applicatie of een handvol services is Docker Compose op een server, of een beheerde containerdienst zoals AWS ECS, Google Cloud Run of Azure Container Apps, meestal eenvoudiger en goedkoper in beheer. Kubernetes loont wanneer u veel services draait, meerdere teams onafhankelijk uitrollen, of hetzelfde platform in meerdere omgevingen of clouds moet draaien. Kiest u voor Kubernetes, dan neemt een beheerde variant zoals Amazon EKS, Azure AKS of Google GKE het beheer van de control plane over.

Zie onze Kubernetes diensten, Terraform om de infrastructuur op te zetten, en wat is DevOps.

Veelgestelde vragen over Kubernetes

Waarom heet Kubernetes K8s?

Het is een numeroniem: de 8 staat voor de acht letters tussen de K en de s.

Vervangt Kubernetes Docker?

Nee. Kubernetes draait containers die met Docker of andere OCI-compatibele tools zijn gebouwd. Binnen het cluster gebruikt Kubernetes een container runtime zoals containerd, maar de images die u met Docker bouwt, werken ongewijzigd.

Is Kubernetes gratis?

Kubernetes zelf is open source en gratis. U betaalt voor de servers waarop het draait, bij beheerde diensten soms een vergoeding voor de control plane, en de tijd voor het beheer.

Wat is Helm?

Helm is een pakketbeheerder voor Kubernetes. Een Helm chart bundelt alle configuratie van een applicatie, zodat die als één geheel kan worden geïnstalleerd, ingesteld en bijgewerkt.