Kubernetes 不再支持 dockershim

举报
liuzhen007 发表于 2022/05/17 23:19:29 2022/05/17
【摘要】 2020 年 5 月 3 日延迟发布的 Kubernetes 1.24 版本发生了重大转变,因为它将结束对 dockershim 的原生支持。Docker 是 Kubernetes 使用的第一个容器运行时。随着 Kubernetes 项目向自己的开放容器倡议 (OCI) 过渡,它需要一个权宜之计来实现与其他各种容器运行时的可移植性。这个权宜之计就是 dockershim。从本质上讲,dock...

前言

2020 年 5 月 3 日延迟发布的 Kubernetes 1.24 版本发生了重大转变,因为它将结束对 dockershim 的原生支持。Docker 是 Kubernetes 使用的第一个容器运行时。随着 Kubernetes 项目向自己的开放容器倡议 (OCI) 过渡,它需要一个权宜之计来实现与其他各种容器运行时的可移植性。这个权宜之计就是 dockershim。

从本质上讲,dockershim 最初的目的是作为一种临时解决方案,允许流行的 Docker Engine 容器运行时将 OCI 调用转换为 Kubernetes 自己的容器运行时接口 (CRI) 中的 Docker 调用。随着时间的推移,dockershim 在 Kubernetes 部署中变得根深蒂固,由于这种方式会减慢部署的速度,给维护者带来了负担。淘汰它成为了一种必然的选择。

一、如何为 dockershim 弃用做准备

Kubernetes 的 v1.24 版本将要求想要使用最新版本软件的用户从 dockershim 迁移到与 Kubernetes 自己兼容的另一个运行时,或者使用由 Mirantis 开发的 dockershim 的外部替代品,称为 cri-dockerd。

虽然 Kubernetes 节点将不再默认使用 Docker 运行时,但许多开发人员和管理员已经切换到其他符合 CRI 的运行时,例如 Docker 自己在 2017 年捐赠给 CNCF 的 containerd 和本机 CRI-O。这就要求在集群中的每个节点上运行的 kubelet 代理配置成调用 containerd 或者 CRI-O 套接字。

各种托管 Kubernetes 供应商已经开始作出改变,例如 Red Hat OpenShift,它在 2019 年采用了 CRI-O。Amazon 的 Elastic Kubernetes Service (EKS)、Microsoft 的 Azure Kubernetes Service (AKS) 和 Google 的 Kubernetes Engine (GKE) 已经默认使用 containerd。Microsoft 还为使用 Kubernetes 1.19 或更高版本的 Azure Kubernetes Linux 节点池采用了 containerd。

二、切换到符合 CRI 运行时的优势

不使用符合 CRI 的运行时替换 dockershim 的开发人员可能会破坏他们的集群并落后于安全补丁,同时也会错过新功能。

“在这一点上,我们相信您(和 Kubernetes)从 dockershim 移除中获得的价值弥补了给您带来的迁移工作量,”Kubernetes 发布团队在一月份的博客文章中写道。

开发人员仍然可以在本地使用 Docker 来开发或测试他们的容器,无论他们为 Kubernetes 集群使用哪个容器运行时。Docker 生成的镜像将继续在具有所有符合 CRI 的运行时的集群中工作,但不会继续受支持。




作者简介:😄大家好,我是 Data-Mining(liuzhen007),是一位典型的音视频技术爱好者,前后就职于传统广电巨头和音视频互联网公司,具有丰富的音视频直播和点播相关经验,对 WebRTC、FFmpeg 和 Electron 有非常深入的了解,😄公众号:玩转音视频。同时也是 CSDN 博客专家(博客之星)、华为云享专家(共创编辑、十佳博主)、51CTO社区编辑、InfoQ 签约作者,欢迎关注我分享更多干货!😄 

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。