Question 32
Domain 1: Cluster Architecture, Installation & ConfigurationWhich step is required to configure a Kubernetes node to use Docker as its container runtime with kubeadm after dockershim removal?
Correct answer: A
Explanation
After dockershim was removed, kubelet can no longer talk to Docker directly, so Kubernetes needs a CRI-compatible shim. Installing and configuring cri-dockerd provides that interface, and kubeadm/kubelet must be pointed to the cri-dockerd socket so they can use Docker as the container runtime.
Why each option is right or wrong
A. Install and configure cri-dockerd, then point kubelet/kubeadm to the cri-dockerd socket
Kubernetes removed dockershim in v1.24, so Docker is no longer a native CRI endpoint for kubelet; the required workaround is the external CRI implementation provided by cri-dockerd. In practice, kubeadm/kubelet must be configured to use the cri-dockerd Unix socket (commonly /var/run/cri-dockerd.sock) via the CRI socket setting, otherwise the node cannot communicate with Docker as its runtime.
B. Enable the Docker shim feature gate in kubelet and use the /var/run/docker.sock directly
C. Install containerd only, since Docker is supported through containerd automatically
D. Restart the apiserver with the --runtime=docker flag