Kubernetes 1.24 no longer uses Docker as the built-in container runtime. If you want to update the Kubernetes version of your Container Service for Kubernetes (ACK) cluster to 1.24 or later, you must change the container runtime from Docker to containerd for your cluster. This topic describes how to change the container runtime from Docker to containerd for an ACK cluster in the ACK console.

Prerequisites

Background information

Kubernetes 1.24 no longer uses Docker as the built-in container runtime. Dockershim is removed in Kubernetes 1.24. kubelet can no longer use Dockershim to interact with Docker and manage containers.

Due to this update, ACK clusters that run Kubernetes 1.24 or later do not use Docker as the built-in container runtime. If your cluster uses Docker as the container runtime, you must change the container runtime to containerd before you can update the Kubernetes version of your cluster to 1.24 or later.

containerd is an industry-standard container runtime that overweighs Docker in terms of cost-effectiveness and security. For more information about containerd, see containerd.

Considerations

In most cases, your workloads are not dependent on the container runtime. Docker implements containerd. Theoretically, your workloads are not affected after you change the container runtime from Docker to containerd.
Important To avoid exceptions that may occur when you change the runtime in the production environment, we recommend that you test the impacts of the runtime replacement on your workloads in the test environment.
containerd does not support image building. After you change the runtime to containerd, you cannot run the docker build command to build images but you can pull images as normal.
Important After you change the container runtime from Docker to containerd, we recommend that you do not build images on the nodes in the cluster.

After you change the container runtime from Docker to containerd, Docker is no longer the administrator of the container lifecycle. You can no longer run Docker commands or call the Docker API to query container status or manage containers.

Procedure

  1. Log on to the ACK console and click Clusters in the left-side navigation pane.
  2. On the Clusters page, click the name of a cluster and choose Nodes > Node Pools in the left-side navigation pane.
  3. On the Node Pools page, select the node pool that you want to manage and choose More > Upgrade.
  4. Select Runtime Upgrade and click Precheck.
  5. After the cluster passes the precheck, select Runtime Upgrade and click Start Update.
Note For more information about how to update a node pool, see Node pool updates.