Version 1.13. This version is no longer supported. For information about how to upgrade to version 1.14, see Upgrading Anthos on bare metal in the 1.14 documentation. For more information about supported and unsupported versions, see the Version history page in the latest documentation.
Your clusters use a container runtime to create and run Kubernetes Pods. Before
version 1.13 of Google Distributed Cloud, your container runtime could be either
Docker Engine or containerd. However, your container runtime can only be
containerd starting from version 1.13 of Google Distributed Cloud.
Before version 1.13 of Google Distributed Cloud, you chose your container runtime
by specifying a value in the spec.nodeConfig.containerRuntime field in your
cluster configuration file. Starting from version 1.13 of
Google Distributed Cloud, the containerRuntime field is no longer included in
cluster configuration files generated by bmctl.
Kubernetes 1.24 ends support of Docker Engine
The dockershim
component in Kubernetes enables cluster nodes to use the Docker Engine container
runtime. However, Kubernetes 1.24 removed the dockershim component. Since
Google Distributed Cloud version 1.13 will run on Kubernetes 1.24, version 1.13
and higher clusters can no longer use Docker Engine.
Whether creating a version 1.13 cluster or upgrading a version 1.12 cluster to
version 1.13, containerd is the default and is the only supported container
runtime. You aren't required to specify the container runtime in the cluster
configuration file. If you try to specify anything but containerd for the
container runtime, the cluster upgrade or create operation will fail.
The Docker installation that you use in development to create images is
unrelated to the Docker Engine container runtime inside your Kubernetes cluster.
You can still use Docker to create images and build application containers.
Those containers will still work inside your cluster.
You must continue to install Docker on your
admin workstation
because the bmctl command requires Docker for operations, such as cluster
creation. This use of Docker is also unaffected by the dockershim deprecation.
Check the status of the container runtime
To check the status of the container runtime, run the following command:
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-09-04 UTC."],[[["\u003cp\u003eStarting with Google Distributed Cloud version 1.13, \u003ccode\u003econtainerd\u003c/code\u003e is the only supported container runtime, replacing the previous option of \u003ccode\u003eDocker Engine\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003econtainerRuntime\u003c/code\u003e field is no longer required in cluster configuration files from version 1.13 onwards, as \u003ccode\u003econtainerd\u003c/code\u003e is the default.\u003c/p\u003e\n"],["\u003cp\u003eKubernetes 1.24 removed \u003ccode\u003edockershim\u003c/code\u003e, making \u003ccode\u003eDocker Engine\u003c/code\u003e incompatible with Google Distributed Cloud version 1.13 and later.\u003c/p\u003e\n"],["\u003cp\u003eDocker is still required on the admin workstation for \u003ccode\u003ebmctl\u003c/code\u003e operations, and the Docker installation for image creation is separate from the container runtime used in the cluster.\u003c/p\u003e\n"],["\u003cp\u003eChecking the container runtime status can be performed using the \u003ccode\u003esystemctl status containerd\u003c/code\u003e command.\u003c/p\u003e\n"]]],[],null,["# About the container runtime\n\n\u003cbr /\u003e\n\nYour clusters use a container runtime to create and run Kubernetes Pods. Before\nversion 1.13 of Google Distributed Cloud, your container runtime could be either\n`Docker Engine` or `containerd`. However, your container runtime can only be\n`containerd` starting from version 1.13 of Google Distributed Cloud.\n\nBefore version 1.13 of Google Distributed Cloud, you chose your container runtime\nby specifying a value in the `spec.nodeConfig.containerRuntime` field in your\ncluster configuration file. Starting from version 1.13 of\nGoogle Distributed Cloud, the `containerRuntime` field is no longer included in\ncluster configuration files generated by `bmctl`.\n\nKubernetes 1.24 ends support of Docker Engine\n---------------------------------------------\n\nThe [`dockershim`](https://kubernetes.io/blog/2022/05/03/dockershim-historical-context/)\ncomponent in Kubernetes enables cluster nodes to use the Docker Engine container\nruntime. However, Kubernetes 1.24 removed the `dockershim` component. Since\nGoogle Distributed Cloud version 1.13 will run on Kubernetes 1.24, version 1.13\nand higher clusters can no longer use Docker Engine.\n\nWhether creating a version 1.13 cluster or upgrading a version 1.12 cluster to\nversion 1.13, `containerd` is the default and is the only supported container\nruntime. You aren't required to specify the container runtime in the cluster\nconfiguration file. If you try to specify anything but `containerd` for the\ncontainer runtime, the cluster upgrade or create operation will fail.\n\nThe Docker installation that you use in development to create images is\nunrelated to the Docker Engine container runtime inside your Kubernetes cluster.\nYou can still use Docker to create images and build application containers.\nThose containers will still work inside your cluster.\n\nYou must continue to install Docker on your\n[admin workstation](/anthos/clusters/docs/bare-metal/1.13/installing/install-prereq#workstation_prerequisites)\nbecause the `bmctl` command requires Docker for operations, such as cluster\ncreation. This use of Docker is also unaffected by the `dockershim` deprecation.\n\nCheck the status of the container runtime\n-----------------------------------------\n\nTo check the status of the container runtime, run the following command: \n\n systemctl status containerd"]]