What You Will Learn
Intermediate
- The three worker node components
- How kubelet manages Pods
- How kube-proxy handles networking
| Component | Role |
|---|---|
| kubelet | Agent that manages Pods on the node |
| kube-proxy | Network proxy, handles Service routing |
| Container Runtime | Runs containers (containerd, CRI-O) |
kubelet
The kubelet is the node agent. It receives Pod specs from the API server and ensures the containers are running and healthy.
What kubelet doestext
# 1. Receives Pod spec from API Server
# 2. Tells container runtime to start containers
# 3. Monitors Pod health (liveness/readiness probes)
# 4. Reports status back to API Server
# 5. Restarts failed containerskube-proxy
kube-proxy manages network rules on each node. It enables Service abstraction - routing traffic to the right Pods.
How kube-proxy works
When you create a Service, kube-proxy programs iptables/IPVS rules on every node. Traffic to the Service IP is redirected to a healthy Pod.Container Runtime
The container runtime actually runs containers. Kubernetes supports any runtime that implements the CRI (Container Runtime Interface).
| Runtime | Used by |
|---|---|
| containerd | Default in modern K8s |
| CRI-O | Red Hat OpenShift |
| Docker (via dockershim) | Removed in K8s 1.24+ |
Practical Exercise
Run: kubectl get nodes -o wide (see node info)
Run: kubectl describe node minikube (see all components)
SSH into node: minikube ssh
Inside: ps aux | grep kubelet (see kubelet running)
Key Takeaways
- kubelet: manages Pods on the node (start, monitor, restart).
- kube-proxy: handles Service networking (iptables/IPVS rules).
- Container runtime: runs containers (containerd is default).
- Docker is no longer supported in K8s 1.24+ - use containerd.
- All three run on every worker node.
Comments
Comments
Post a Comment