Wat is Kubernetes?
Kubernetes (K8s) is een open-source platform dat gecontaineriseerde applicaties over een cluster van machines verdeelt, bewaakt, schaalt en automatisch herstart op basis van een gewenste toestand die u declaratief vastlegt. Waar Docker containers bouwt en op één host draait, regelt Kubernetes de orkestratie over vele hosts. Binnen OT en Industriële Automatisering draait Kubernetes steeds vaker aan de edge: MQTT-brokers, OPC UA-gateways, historians, analytics en AI-inferentie voor IIoT-platformen. Daarmee is het een kernbouwsteen van IT OT Convergentie, maar geen vervanger van realtime besturing.
🧠 Hoe is Kubernetes ontstaan en wie beheert het?
Google kondigde Kubernetes aan in juni 2014 en baseerde het ontwerp op zijn ervaring met het interne clustersysteem Borg, waarop het al jaren zijn eigen productieworkloads draaide. Versie 1.0 verscheen in juli 2015, waarna Google het project als eerste technologie onderbracht bij de Cloud Native Computing Foundation (CNCF) van de Linux Foundation. In maart 2018 was Kubernetes het eerste CNCF-project met de status graduated. De naam komt uit het Grieks en betekent stuurman; K8s staat voor de acht letters tussen de K en de s.
| Kenmerk | Waarde |
|---|---|
| Programmeertaal | Go |
| Releaseritme | Drie minor releases per jaar |
| Ondersteuning per minor release | Ongeveer 1 jaar patches |
| Ondersteunde versies (november 2026) | 1.35, 1.36 en 1.37 |
| Officiële schaalgrenzen | 5.000 nodes, 110 pods per node, 150.000 pods |
Voor OT is vooral dat releaseritme belangrijk: een cluster dat u niet minstens jaarlijks bijwerkt, draait al snel op een versie zonder beveiligingspatches. Neem upgrades daarom op in uw patchmanagement en lifecyclemanagement.
🔧 Hoe werkt een Kubernetes-cluster?
Een cluster bestaat uit een control plane, die beslist wat er moet draaien, en worker nodes, die de containers uitvoeren. De architectuur is gebouwd rond een reconciliation loop: controllers vergelijken voortdurend de gewenste toestand met de werkelijke en corrigeren elk verschil.
| Component | Laag | Functie |
|---|---|---|
| kube-apiserver | Control plane | Centrale API; alle beheer en automatisering loopt hierlangs |
| etcd | Control plane | Gedistribueerde key-value-store met de volledige clustertoestand |
| kube-scheduler | Control plane | Plaatst pods op nodes op basis van CPU, geheugen en regels |
| kube-controller-manager | Control plane | Voert de controllers uit die de gewenste toestand afdwingen |
| kubelet | Worker node | Agent die pods start en de status rapporteert |
| Container runtime | Worker node | containerd of CRI-O; Docker Engine sinds versie 1.24 (mei 2022) alleen nog via de adapter cri-dockerd |
| kube-proxy / CNI-plug-in | Worker node | Servicerouting en podnetwerk, bijvoorbeeld Calico of Cilium |
Belangrijke objecten die u in elke OT-toepassing tegenkomt:
- Pod - kleinste uitvoerbare eenheid: één of meer containers met een gedeelde netwerkstack en opslag
- Deployment - beheert replica’s, rolling updates en rollback, en zorgt voor automatische recovery en schaalbaarheid
- DaemonSet - één pod per node, handig voor een protocolcollector of log-agent op elke edge-node
- Service - vast DNS-adres en load balancing voor wisselende pods
- Namespace - logische scheiding per team, lijn of site; op zichzelf geen security-grens
- ConfigMap en Secret - configuratie en geheimen buiten het image; Secrets staan standaard onversleuteld (alleen base64-gecodeerd) in etcd, tenzij u versleuteling at rest inschakelt
- NetworkPolicy - firewallregels tussen pods; zonder policy mag elke pod elke andere pod bereiken
🔄 Welke Kubernetes-varianten passen bij edge en OT?
Een volledig Kubernetes-cluster vraagt meerdere servers en beheerkennis. Voor fabrieksvloer en buitenstations zijn lichtere distributies ontstaan.
| Variant | Herkomst | Typisch OT-gebruik |
|---|---|---|
| Kubernetes (upstream) | CNCF | Datacenter of centrale on-premise OT-cluster |
| K3s | Rancher (SUSE), CNCF | Edge-gateways; minimaal 2 CPU en 2 GB RAM voor een server, 512 MB voor een agent |
| MicroK8s | Canonical | Kleine clusters en labomgevingen, vooral op Ubuntu |
| KubeEdge | Huawei Cloud, CNCF graduated sinds oktober 2024 | Centrale cloud-control plane met edge-nodes die offline doorwerken |
| OpenShift | Red Hat | Enterprise-platform met strengere standaardbeveiliging |
Bij tientallen sites beheert u meestal niet één cluster over alle locaties, maar per site een klein cluster dat centraal wordt aangestuurd via GitOps of een fleetmanagementtool. Configuratie staat dan in versiebeheer en configuratiebeheer, zodat elke wijziging herleidbaar is.
🏭 Welke OT-workloads draaien goed op Kubernetes?
Kubernetes past bij workloads die stateless zijn of hun toestand naar een database schrijven, en die enkele seconden onderbreking verdragen.
| Workload | Geschiktheid | Toelichting |
|---|---|---|
| MQTT-broker en Unified Namespace | Goed | Geclusterde brokers met meerdere replica’s, vaak met Sparkplug B-diensten |
| OPC UA-, Modbus TCP- en HTTP/HTTPS-gateways | Goed | Protocolconversie als microservice per lijn |
| Historian en tijdreeksdatabase | Goed, met persistente opslag | StatefulSet met lokale of gerepliceerde schijven |
| Web-HMI, dashboards en rapportage | Goed | Schaalt met het aantal gebruikers |
| AI-Vision en Predictive Maintenance | Goed | GPU-nodes en modelupdates via rolling updates |
| OEE-platform en gebouwautomatisering (bijv. HVAC-analytics) | Goed | Klassieke IT-achtige applicaties op OT-data |
| SCADA-server | Deels | Leveranciers ondersteunen containers nog beperkt |
| Soft PLC | Beperkt | Alleen met realtime kernel en strikte CPU-toewijzing |
| Motion Control en Safety-functies | Niet geschikt | Vereisen gecertificeerde, deterministische hardware |
In de energie- en watersector draait Kubernetes vooral centrale diensten voor telemetrieverwerking, belastinganalyse en het samenvoegen van historian-data van verspreide stations; de besturing zelf blijft in de lokale RTU’s en PLC’s.
Ook voor OTAP-straten, simulatie, cyber ranges en digital twins is Kubernetes sterk: een complete testomgeving staat met één manifest reproduceerbaar klaar.
⚠️ Waar liggen de grenzen voor realtime en beschikbaarheid?
Kubernetes is ontworpen voor IT-workloads. De scheduler, het overlaynetwerk en gedeelde CPU’s voegen latency en jitter toe, waardoor deterministisch gedrag niet gegarandeerd is.
- Herstel na node-uitval duurt minuten - standaard krijgen pods een tolerantie van 300 seconden voor een onbereikbare node, dus pas na ongeveer vijf minuten worden ze elders gestart. Voor hoge beschikbaarheid draait u kritieke diensten daarom met meerdere replica’s tegelijk.
- Control plane redundant - etcd werkt met een quorum; drie leden overleven het verlies van één, vijf leden het verlies van twee.
- Realtime tuning - de static CPU Manager reserveert vaste cores voor een pod; sinds Linux 6.12 (eind 2024) zit PREEMPT_RT in de standaardkernel, wat virtuele besturing dichterbij brengt.
- Netwerk - netwerkvirtualisatie via overlays kost prestaties; voor veldbusverkeer wordt vaak host networking of een tweede netwerkinterface gebruikt.
🔐 Hoe beveiligt u Kubernetes in een OT-omgeving?
Kubernetes vergroot het aanvalsoppervlak: de API-server is één centraal punt van waaruit een aanvaller alle workloads kan overnemen. In maart 2025 werd IngressNightmare (CVE-2025-1974, CVSS 9.8) bekend, een kwetsbaarheid in de ingress-nginx-controller waarmee ongeauthenticeerde code-uitvoering en overname van het cluster mogelijk was. Het Kubernetes-project heeft ingress-nginx inmiddels uitgefaseerd: na maart 2026 verschijnen er geen beveiligingsupdates meer, dus migreer naar de Gateway API of een andere ondersteunde ingress-controller.
| Risico | Gevolg | Maatregel |
|---|---|---|
| Blootgestelde API-server of dashboard | Volledige clusterovername | Alleen bereikbaar via beheernetwerk, MFA voor beheerders |
| Te ruime rechten | Laterale beweging | RBAC met minimale rechten per namespace |
| Privileged containers | Uitbraak naar de host | Pod Security Standard Restricted of Baseline |
| Kwaadaardige images | Supply-chainaanval | Private registry, signed images, kwetsbaarhedenscan |
| Vlak podnetwerk | Ongehinderde verspreiding | NetworkPolicies en microsegmentatie |
| Onopgemerkte wijzigingen | Late detectie | API-audit-logging naar security monitoring |
Leidraden zijn de Kubernetes Hardening Guidance van NSA en CISA (versie 1.2, augustus 2022) en de CIS Kubernetes Benchmark, die u met kube-bench toetst. Positioneer het cluster binnen de zones van IEC 62443 en NIST SP 800-82: een edge-cluster dat met PLC’s praat, hoort niet in hetzelfde segment als een cluster met internettoegang. Klassieke netwerksegmentatie met een industriële firewall blijft nodig, en voor beheer gelden de ISO 27001- en NIST CSF-processen van uw organisatie. Zo vertaalt u algemene hardening en cybersecurity naar containerniveau.
🧭 Hoe introduceert u Kubernetes stapsgewijs in OT?
- Begin met niet-kritieke data - start met een MQTT-broker, dashboards of een historian-replica, niet met besturing.
- Kies een passende distributie - K3s of MicroK8s voor één edge-locatie, een volledig cluster in de cloud of het datacenter voor centrale analytics.
- Leg alles vast als code - manifests in Git, uitrol via GitOps, en een testcluster in de OTAP-straat.
- Beveilig vanaf dag één - RBAC, Pod Security Admission, NetworkPolicies, encryptie van Secrets en audit-logging.
- Test faalscenario’s - trek een node uit, meet hoe lang diensten wegvallen en leg dat vast in het beschikbaarheidsontwerp.
- Plan upgrades - minimaal één minor upgrade per jaar, eerst in de testomgeving.
Valt uw organisatie onder de Cyberbeveiligingswet, die op 15 augustus 2026 in werking trad, dan valt een productiecluster onder dezelfde zorgplicht voor risicobeheer, toegangsbeheer en patching als elk ander OT-systeem.
❓ Veelgestelde vragen
Wat is het verschil tussen Docker en Kubernetes?
Docker bouwt en draait containers op één host, terwijl Kubernetes containers over een cluster van meerdere machines verdeelt, bewaakt en automatisch herstart. Kubernetes ondersteunt Docker Engine sinds versie 1.24 niet meer rechtstreeks als runtime, maar draait met Docker gebouwde images gewoon via containerd of CRI-O.
Kan een PLC op Kubernetes draaien?
Een soft PLC kan in een container op Kubernetes draaien, maar alleen met een realtime Linux-kernel, vaste CPU-toewijzing en zorgvuldig getest netwerkgedrag. Voor motion control en safety-functies is Kubernetes niet geschikt; die blijven op gecertificeerde, deterministische hardware.
Wat is K3s?
K3s is een lichte, CNCF-gecertificeerde Kubernetes-distributie van Rancher, nu onderdeel van SUSE. K3s draait als één binary en heeft minimaal 2 CPU-cores en 2 GB RAM nodig voor een server en 512 MB voor een agent, wat het geschikt maakt voor industriële edge-gateways.
Hoe snel herstelt Kubernetes na een storing?
Kubernetes herstart een vastgelopen container binnen seconden, maar bij uitval van een complete node wacht het standaard ongeveer vijf minuten voordat pods elders worden gestart. Kritieke OT-diensten op Kubernetes draaien daarom met meerdere replica’s verdeeld over nodes.
Is Kubernetes veilig genoeg voor OT?
Kubernetes kan veilig worden ingezet in OT als u RBAC, Pod Security Standards, NetworkPolicies, signed images en audit-logging toepast en het cluster in een eigen IEC 62443-zone plaatst. Een standaardinstallatie is niet veilig genoeg, omdat pods elkaar standaard vrij mogen bereiken.
Welke Kubernetes-versie moet ik gebruiken?
Gebruik bij Kubernetes altijd een van de drie nog ondersteunde minor versies, in november 2026 versie 1.35, 1.36 of 1.37. Elke minor versie krijgt ongeveer een jaar patches, dus plan jaarlijks minstens één upgrade.
📌 Samengevat
Kubernetes orkestreert containers over een cluster en maakt edge- en datadiensten in OT schaalbaar, reproduceerbaar en zelfherstellend. Het past uitstekend bij MQTT, gateways, historians en analytics, maar niet bij harde realtime besturing of safety. Met een lichte distributie, GitOps, strikte hardening en een jaarlijkse upgradecyclus wordt Kubernetes een betrouwbaar fundament voor IT/OT-convergentie.
