Pregunta de Container Orchestration #019e3a4f
Which of the following sentences is true about container runtimes in Kubernetes?
If you let iptables see bridged traffic, you don't need a container runtime.
If you enable IPv4 forwarding, you don't need a container runtime.
Container runtimes are deprecated, you must install CRI on each node
You must install a container runtime on each node to run pods on it.
Explicación Oficial / Explicaciones de la Comunidad
Summary
In Kubernetes, a container runtime is required on each node to run pods. The container runtime is responsible for pulling images, starting and stopping containers, and managing container lifecycle. Without a container runtime, the kubelet cannot run containers.
How It Works
Kubernetes nodes rely on the kubelet agent, which communicates with a container runtime via the Container Runtime Interface (CRI). The runtime must be installed and configured on every node where pods are scheduled. Common runtimes include containerd, CRI-O, and Docker (via cri-dockerd).
Why the Correct Answer is Right
- You must install a container runtime on each node to run pods on it. This is a fundamental requirement. The kubelet cannot create containers without a runtime. Even if networking (iptables, IPv4 forwarding) is configured, the runtime is essential for container execution.
Why the Incorrect Answers are Wrong
- If you let iptables see bridged traffic, you don't need a container runtime. This is false. iptables configuration for bridged traffic is a networking prerequisite (often needed for CNI plugins), but it does not replace the container runtime. The runtime is still required.
- If you enable IPv4 forwarding, you don't need a container runtime. Similarly, IPv4 forwarding is a kernel parameter required for pod networking, but it does not eliminate the need for a container runtime.
- Container runtimes are deprecated, you must install CRI on each node. This is misleading. CRI (Container Runtime Interface) is not a runtime itself; it is an interface that the kubelet uses to interact with runtimes. The statement incorrectly suggests runtimes are deprecated, which is false. You still need a runtime that implements CRI.
Key Takeaway
Every Kubernetes node must have a container runtime installed. Networking configurations like iptables and IPv4 forwarding are separate prerequisites and do not replace the runtime.