How Nodes Run Containers

How Nodes Run Containers Under the Hood

Every node runs the kubelet, which turns Pod objects into containers, a container runtime (containerd 234,762 ), and kube-proxy, which implements Services; a CNI plugin gives each Pod its network. A kind 14,561 node is a Docker 514 container running systemd 142,543 , so docker exec takes you inside it the way SSH would. The examples use two replicas of BookNest's front end behind a Service:

Two front-end replicas behind a Service, for exploring the worker nodeShell
kubectl create deployment web --image=localhost:33500/booknest-web:1.3 --replicas=2 --port=80
kubectl expose deployment web --port=80
kubectl rollout status deployment web >/dev/null
kubectl get pods -l app=web \
  -o custom-columns=NAME:.metadata.name,IP:.status.podIP,NODE:.spec.nodeName
kubectl get service web
Output
deployment.apps/web created
service/web exposed
NAME                   IP            NODE
web-64546c896b-7r29z   10.244.1.26   l3-booknest-worker
web-64546c896b-fh6fn   10.244.1.27   l3-booknest-worker
NAME   TYPE        CLUSTER-IP    EXTERNAL-IP   PORT(S)   AGE
web    ClusterIP   10.96.1.190   <none>        80/TCP    1s

Subsections