Find Out What Container Runtime is Used on a Node
Depending on the way you run your cluster, the container runtime for the nodes may have been pre-configured or you need to configure it. If you’re using a managed Kubernetes service, there might be vendor-specific ways to check what container runtime is configured for the nodes. The method described on this page should work whenever the execution of is allowed.
Install and configure kubectl
. See section for details.
Use kubectl
to fetch and show node information:
The output is similar to the following. The column CONTAINER-RUNTIME
outputs the runtime and its version.
If your runtime shows as Docker Engine, you still might not be affected by the removal of dockershim in Kubernetes v1.24. to see if you use dockershim. If you don’t use dockershim, you aren’t affected.
For containerd, the output is similar to this:
Find out more information about container runtimes on Container Runtimes page.
The container runtime talks to the kubelet over a Unix socket using the CRI protocol, which is based on the gRPC framework. The kubelet acts as a client, and the runtime acts as the server. In some cases, you might find it useful to know which socket your nodes use. For example, with the removal of dockershim in Kubernetes v1.24 and later, you might want to know whether you use Docker Engine with dockershim.
You can check which socket you use by checking the kubelet configuration on your nodes.
In the output, look for the
--container-runtime
flag and the flag.- If the
--container-runtime-endpoint
flag is present, check the socket name to find out which runtime you use. For example, is the containerd endpoint.
- If the