Container Orchestration
medium

Questão de Container Orchestration #019e3a4f

Enunciado da Questão
Container Orchestration
#kubernetes
#container-runtime
#cri
#node-setup
Médio

Which of the following sentences is true about container runtimes in Kubernetes?

A

If you let iptables see bridged traffic, you don't need a container runtime.

B

If you enable IPv4 forwarding, you don't need a container runtime.

C

Container runtimes are deprecated, you must install CRI on each node

D

You must install a container runtime on each node to run pods on it.

Correta

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

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.