Kubernetes Cluster Architecture
medium

Questão de Kubernetes Cluster Architecture #019e3a4f

Enunciado da Questão
Kubernetes Cluster Architecture
#kubernetes
#kubelet
#pod
#node
Médio

What element allows Kubernetes to run Pods across the fleet of nodes?

A

The node server.

B

The etcd static pods.

C

The API server.

D

The kubelet.

Correta

Explicação Oficial / Explicações da Comunidade

The kubelet is the primary node agent that runs on each node in a Kubernetes cluster. It is responsible for ensuring that containers are running in a Pod as expected. The kubelet takes a set of PodSpecs (provided through various mechanisms) and ensures that the containers described in those PodSpecs are running and healthy. It does not manage containers that were not created by Kubernetes.

How it Works

The kubelet registers the node with the Kubernetes API server and then continuously watches for Pod assignments. When a Pod is scheduled to its node, the kubelet pulls the container images, starts the containers, and monitors their lifecycle. It reports back to the control plane about the node and Pod status.

Why the kubelet is Correct

The kubelet is the component that actually runs Pods on nodes. It interacts with the container runtime (e.g., Docker, containerd) to start and stop containers as specified in the Pod manifest. Without the kubelet, no Pods would be executed on the node.

Why Other Options are Incorrect

  • The node server: This is not a standard Kubernetes component. Nodes are managed by the kubelet and other agents, but there is no generic "node server" that runs Pods.
  • The etcd static pods: etcd is a key-value store used for cluster data, not for running Pods. Static Pods are managed by the kubelet, not by etcd itself.
  • The API server: The API server is the front-end of the Kubernetes control plane. It exposes the Kubernetes API and handles requests, but it does not directly run Pods on nodes. It schedules Pods via the scheduler, but the actual execution is done by the kubelet.