文档首页/ 云容器引擎 CCE/ 用户指南/ 节点/ 节点运维/ 将节点容器运行时从Docker迁移到Containerd
更新时间:2025-12-23 GMT+08:00
分享

将节点容器运行时从Docker迁移到Containerd

Kubernetes社区已经在v1.24版本中移除Dockershim,为保持与社区技术路线同步,并提升集群运行的稳定性与资源效率,强烈建议您将节点容器运行时从Docker逐步迁移至官方推荐的Containerd,以确保未来与Kubernetes版本的兼容性和持续支持。

Containerd是Kubernetes支持的行业标准容器运行时,与Docker相比,Containerd资源占用更低、容器启动更快、兼具更高稳定性与安全性。

前提条件

注意事项

  • 节点容器运行时的迁移会重建节点上运行的业务Pod,理论上可能会导致业务短暂中断,因此强烈建议您迁移的业务保证多实例高可用部署,并且建议先在测试环境试验迁移的影响,然后在业务低峰期进行生产环境迁移,以最大限度避免可能存在的风险。
  • Containerd不具备镜像构建功能,完成迁移后,您无法在Containerd节点上使用Docker Build功能构建镜像,但拉取镜像不受影响。Docker和Containerd其他差异请参考容器运行时说明
  • 若您在原有Docker节点或节点池上部署的负载设置了对应的节点亲和性策略,则需要将负载的节点亲和性策略配置为新的Containerd节点或节点池。这种情况下,为尽可能避免业务中断,您可以采用滚动升级的方式,在不删除现有节点亲和性配置的前提下,为工作负载添加对新Containerd节点或节点池的亲和性配置,等滚动升级全部完成,经过充分测试确认没有问题后,再安全地删除对旧Docker节点的亲和性配置。

默认节点池迁移

您可以将原Docker节点直接重置为Containerd节点。

如果节点资源使用率较高,直接将已有Docker节点重置可能导致该节点上的Pod迁移后重建失败,您可以按需新增一定数量的节点进行避免。

  1. 登录CCE控制台,单击集群名称进入集群。
  2. 在集群控制台左侧导航栏中选择“节点管理”,切换至“节点”页签。
  3. 筛选集群中的Docker节点,选择一个Docker节点,在“更多”功能中选择“禁止调度”
  4. 在“更多”功能中选择“节点排水”

  5. 在确认界面开启“强制排水”,然后单击“确定”进行节点排水。

  6. 排水完成后,在节点列表中选择该节点,单击“更多 > 重置节点”。
  7. 在容器运行时中选择Containerd,其余参数可根据需要进行调整,也可以和创建时保持一致。

  8. 单击“下一步:规格确认”,确认已阅读并知晓华为云的云容器引擎服务声明
  9. 单击“提交”。当节点状态显示为安装中时,即表示正在重置节点。

    待节点状态显示为运行中时,您即可检查节点容器运行时是否切换成功,页面中可以看到节点运行时版本已经切换为Containerd,并且登录节点可以执行crictl等Containerd相关命令查看节点上运行的容器信息。

  10. 重复以上步骤,直至所有Docker节点均被替换为Containerd节点。

自定义节点池迁移

相关文档