Een Kubernetes node is een individuele server in een Kubernetes-cluster. Elke node draait een aantal Kubernetes-componenten en host een aantal containers.
De nodes communiceren met elkaar en met de Kubernetes-controller om containers te plannen en te beheren op het cluster. De Kubernetes-controller zorgt ervoor dat de toepassingen die op het cluster draaien altijd worden uitgevoerd zoals gewenst. De nodes zijn verantwoordelijk voor het uitvoeren van de containers en het communiceren met de controller over de status van de containers en de toepassingen die erop draaien.
Node componenten
Node componenten worden op Nodes uitgevoerd en verzorgen het onderhoud van pods en de Kubernetes runtime environment.
Kubelet
Een 'agent' die op iedere node in het Kubernetes-cluster wordt uitgevoerd. Kubelet zorgt ervoor dat containers in een 'pod' uitgevoerd worden. Kubelet neemt een set van PodSpecs en zorgt ervoor dat de containers die in de PodSpecs worden beschreven correct uitgevoerd worden. Kubelet beheert geen containers die niet door Kubernetes zijn aangemaakt.
Kube-proxy
Kube-proxy is een network-proxy die eveneens op iedere node in het cluster actief is en netwerkregels op nodes beheert. Deze netwerkregels zorgen ervoor dat netwerk communicatie naar je pods mogelijk is vanaf netwerken zowel binnen als buiten je Kubernetes-cluster.
Container runtime
De container runtime zorgt simpelweg voor het uitvoeren van containers. Kubernetes ondersteunt container runtimes zoals Containerd, CRI-O, en andere implementaties van de Kubernetes CRI (Container Runtime Interface).