Bird
Raised Fist0
Kubernetesdevops~10 mins

Node components (kubelet, kube-proxy, container runtime) in Kubernetes - Step-by-Step Execution

Choose your learning style10 modes available
Process Flow - Node components (kubelet, kube-proxy, container runtime)
Container Runtime
↓
Kubelet
↓
Pod & Container Management
↓
Kube-proxy
↓
Network Traffic Routing & Load Balancing
This flow shows how the container runtime runs containers, kubelet manages pods and containers on the node, and kube-proxy routes network traffic to the right pods.
Execution Sample
Kubernetes
1. Container Runtime pulls image and runs container
2. Kubelet monitors container status and reports to master
3. Kube-proxy updates network rules for service traffic
This sequence shows how node components work together to run containers and route traffic.
Process Table
StepComponentActionState ChangeOutput
1Container RuntimePull image and start containerContainer created and runningContainer ID abc123 running
2KubeletCheck container statusContainer status = RunningStatus reported to master
3KubeletManage pod lifecyclePod containers monitoredPod ready
4Kube-proxyUpdate network rulesService IP routes to pod IPTraffic routed correctly
5Kube-proxyLoad balance trafficTraffic distributed among podsRequests balanced
6KubeletDetect container failureContainer stoppedRestart container
7Container RuntimeRestart containerContainer running againContainer ID abc123 running
8KubeletReport updated statusStatus = RunningMaster updated
9Kube-proxyMaintain network rulesRules consistentTraffic flows uninterrupted
10SystemNormal operationAll components healthyNode ready
💡 Node components maintain container lifecycle and network routing continuously; no exit unless node shuts down.
Status Tracker
VariableStartAfter Step 1After Step 2After Step 4After Step 6After Step 7Final
Container StatusNot runningRunningRunningRunningStoppedRunningRunning
Pod StatusNot readyNot readyReadyReadyReadyReadyReady
Network RulesEmptyEmptyUpdatedUpdatedUpdatedUpdatedUpdated
Key Moments - 3 Insights
Why does kubelet report container status to the master?
Kubelet reports container status (see step 2 and 8) so the master knows if pods are healthy and can schedule or reschedule workloads accordingly.
How does kube-proxy help with service traffic?
Kube-proxy updates network rules (step 4) to route traffic from service IPs to the correct pod IPs and load balances requests (step 5).
What happens if a container stops unexpectedly?
Kubelet detects failure (step 6) and instructs the container runtime to restart the container (step 7) to keep the pod running.
Visual Quiz - 3 Questions
Test your understanding
Look at the execution table, what is the container status after step 6?
AStopped
BRunning
CNot running
DUnknown
💡 Hint
Check the 'Container Status' variable in variable_tracker after step 6.
At which step does kube-proxy update network rules for service traffic?
AStep 2
BStep 4
CStep 6
DStep 8
💡 Hint
Look at the 'Action' column in the execution_table for kube-proxy activities.
If the container runtime fails to restart the container at step 7, what would kubelet likely do next?
AReport container running
BUpdate network rules
CReport container stopped and retry restart
DShutdown the node
💡 Hint
Refer to step 6 and 7 in execution_table and how kubelet handles container failure.
Concept Snapshot
Node components in Kubernetes:
- Container Runtime: pulls images, runs containers
- Kubelet: monitors containers, manages pod lifecycle, reports status
- Kube-proxy: manages network rules, routes and load balances service traffic
Together, they keep pods running and reachable on each node.
Full Transcript
In Kubernetes, each node runs key components to manage containers and network traffic. The container runtime pulls container images and runs them. The kubelet watches these containers, manages their lifecycle, and reports their status to the master node. The kube-proxy updates network rules to route service traffic to the right pods and balances load among them. If a container stops, kubelet detects this and asks the container runtime to restart it. This cycle keeps the node healthy and pods running smoothly.

Practice

(1/5)
1. Which Kubernetes node component is responsible for making sure containers start and keep running on a node?
easy
A. kube-proxy
B. kubelet
C. container runtime
D. etcd

Solution

  1. Step 1: Understand the role of kubelet

    kubelet runs on each node and ensures containers are started and stay running as requested by the control plane.
  2. Step 2: Differentiate from other components

    kube-proxy manages network traffic, container runtime runs containers, and etcd stores cluster data.
  3. Final Answer:

    kubelet -> Option B
  4. Quick Check:

    Container management = kubelet [OK]
Hint: kubelet manages containers on nodes, not networking or storage [OK]
Common Mistakes:
  • Confusing kubelet with kube-proxy
  • Thinking container runtime manages container lifecycle
  • Selecting etcd which is for cluster data storage
2. Which of the following is the correct command to check the status of the kubelet service on a Linux node?
easy
A. systemctl status kube-proxy
B. docker ps | grep kubelet
C. systemctl status kubelet
D. kubectl get pods kubelet

Solution

  1. Step 1: Identify the service name for kubelet

    The kubelet runs as a system service named 'kubelet' on Linux nodes.
  2. Step 2: Use systemctl to check service status

    The command 'systemctl status kubelet' shows the running status of the kubelet service.
  3. Final Answer:

    systemctl status kubelet -> Option C
  4. Quick Check:

    Check kubelet service = systemctl status kubelet [OK]
Hint: Use systemctl with 'kubelet' to check its status [OK]
Common Mistakes:
  • Checking kube-proxy instead of kubelet
  • Using kubectl which manages cluster, not node services
  • Searching for kubelet in docker containers
3. Given the following command output snippet from a node, which component is responsible for managing network rules to allow pod communication?
NAME       STATUS   ROLES    AGE   VERSION
node-1     Ready    <none>   10d   v1.26.0

Active connections:
- kubelet running
- kube-proxy running
- container runtime running
medium
A. kube-proxy
B. container runtime
C. kubelet
D. etcd

Solution

  1. Step 1: Identify the role of kube-proxy

    kube-proxy manages network rules and traffic routing inside the cluster to enable pod communication.
  2. Step 2: Differentiate from other components

    kubelet manages containers, container runtime runs containers, and etcd stores cluster data.
  3. Final Answer:

    kube-proxy -> Option A
  4. Quick Check:

    Network management = kube-proxy [OK]
Hint: Network rules inside cluster are handled by kube-proxy [OK]
Common Mistakes:
  • Confusing kubelet with network management
  • Thinking container runtime manages networking
  • Selecting etcd which is unrelated to node networking
4. You notice pods on a node are not receiving network traffic correctly. You check and find kube-proxy is not running. Which command would you use to restart kube-proxy on a systemd-based node?
medium
A. systemctl restart kube-proxy
B. kubectl restart kube-proxy
C. systemctl restart kubelet
D. docker restart kube-proxy

Solution

  1. Step 1: Identify the correct service to restart

    Since kube-proxy manages network traffic and is not running, restarting kube-proxy service is needed.
  2. Step 2: Use systemctl to restart kube-proxy

    On systemd-based systems, 'systemctl restart kube-proxy' restarts the kube-proxy service properly.
  3. Final Answer:

    systemctl restart kube-proxy -> Option A
  4. Quick Check:

    Restart kube-proxy with systemctl restart kube-proxy [OK]
Hint: Restart kube-proxy service with systemctl to fix network issues [OK]
Common Mistakes:
  • Restarting kubelet instead of kube-proxy
  • Using kubectl which cannot restart node services
  • Trying to restart kube-proxy as a docker container
5. A Kubernetes node uses containerd as its container runtime. You want to verify that the container runtime is running correctly and can start containers. Which sequence of commands would you use to check containerd status and list running containers?
hard
A. docker ps && crictl status
B. systemctl status kubelet && docker ps
C. kubectl get pods && systemctl status containerd
D. systemctl status containerd && crictl ps

Solution

  1. Step 1: Check containerd service status

    Use 'systemctl status containerd' to verify the container runtime service is active and running.
  2. Step 2: List running containers with crictl

    Since containerd uses CRI, 'crictl ps' lists running containers managed by containerd.
  3. Final Answer:

    systemctl status containerd && crictl ps -> Option D
  4. Quick Check:

    Check containerd and containers with systemctl and crictl [OK]
Hint: Use systemctl for service and crictl for container runtime containers [OK]
Common Mistakes:
  • Using docker commands when containerd is runtime
  • Checking kubelet status instead of container runtime
  • Mixing kubectl pod commands with container runtime checks
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard