Daar komt Kubernetes om de hoek kijken – daar gaan we zo op in…
Wat is Kubernetes?
Dus, wat is Kubernetes precies? Laten we het niet moeilijker maken dan nodig is: Kubernetes (K8S) is een open-source platform voor het automatiseren, beheren en schalen van containerized applications.
Door de flexibiliteit en het vermogen om grote workloads aan te kunnen, is het dé standaard geworden voor container orchestration. Het regelt scaling, load balancing en zelfs self-healing.
Hoe werkt Kubernetes?
Als je containers hebt, beheert Kubernetes ze over meerdere machines. De Kubernetes cluster groepeert containers die een microservice of app ondersteunen in pods, die draaien op nodes.

- Pods: Pods zijn de kleinste eenheid in Kubernetes en delen hetzelfde netwerk en storage. Perfect dus voor apps die strak samenwerken en veel met elkaar praten.
- Nodes: Nodes zijn worker machines (zoals virtual machines) die de pods draaien.
Apps die draaien in Kubernetes gedragen zich als één geheel, ook al bestaan ze uit losse containers.
In Kubernetes regelt een deployment de gewenste state van je app. Het bepaalt hoeveel pod replicas er moeten draaien en houdt dit aantal in stand.
YAML
apiVersion: apps/v1
kind: Deployment
metadata:
name: my-deployment
spec:
replicas: 3
selector:
matchLabels:
app: myapp
template:
metadata:
labels:
app: myapp
spec:
containers:
- name: myapp-container
image: myapp:1.0
Kubernetes Deployment YAML
Deployments zijn geschikt voor stateless workloads en ondersteunen declarative updates. Daardoor kun je makkelijk nieuwe versies uitrollen of opschalen. Onder water gebruikt een deployment een replica set om het juiste aantal pods actief te houden.
Crasht er één of wordt er eentje verwijderd? Dan zorgt de replica set dat er automatisch een nieuwe komt.
Als developer beschrijf je de gewenste state in de deployment. De deployment controller zorgt ervoor dat die gewenste state wordt nageleefd.
Dat gebeurt via een control loop. De controller checkt constant de actuele state van het cluster via de API server. Klopt er iets niet? Dan grijpt hij in om alles weer gelijk te trekken met de gewenste state.

Kubernetes balanceert ook automatisch netwerkverkeer over pods, zodat niet één container overbelast raakt.
Het schaalt pods automatisch op basis van load: Check hoe je cloud native schaalt met Kubernetes.