containerd and CRI-O

containerd and CRI-O are the runtimes that actually run containers under Kubernetes. Their control sockets, if reachable, give node-level container control equivalent to the Docker socket, their clients (ctr, crictl) enumerate everything on the node, and the image-pull credentials they hold unlock private registries.

1 phút đọccập nhật 7 thg 10, 2026florianamette1 người đóng góp
Hỏi trợ lý của bạn (MCP)Sửa trên GitHub

Under Kubernetes, the container that runs a pod is created not by Docker but by containerd or CRI-O, invoked by the kubelet over the Container Runtime Interface. Their offensive surface mirrors Docker's but is node-scoped: a reachable control socket is root-equivalent on the node, their clients enumerate every container, image, and task on the node, and the credentials they cache for pulling images unlock private registries.

Detect which runtime a node uses and find its socket:

bash
ls -l /run/containerd/containerd.sock /run/crio/crio.sock /var/run/crio/crio.sock 2>/dev/null
crictl --runtime-endpoint unix:///run/containerd/containerd.sock version 2>/dev/null
ps -ef | grep -E 'containerd|crio' | grep -v grep | head

Subtopics#

References#