K8s根本甩不掉Docker,原因一说就懂

Kubernetes宣布kubelet的dockershim已过时,计划在1.23版本移除,但这并不意味着Kubernetes彻底摆脱Docker。Docker的容器镜像格式和容器运行时技术在Kubernetes生态系统中仍占据核心地位。虽然Kubernetes可以使用containerd和CRI-O等符合CRI标准的运行时,但Docker的镜像构建和运行功能仍然是关键,Docker镜像格式的标准化使其难以被替代。因此,Kubernetes短期内仍无法摆脱Docker的影响。
摘要由CSDN通过智能技术生成

题图摄于北京前门

注:微信公众号不按照时间排序,请关注“亨利笔记”,并加星标以置顶,以免错过更新。

2020云原生生态大会,大咖云集,立刻报名!

上个月 Kubernetes 1.20 beta 版的发布记录(release note)里面声明了 kubelet 的 dockershim 模块已经过时了(deprecated),最快将在 1.23 版本中移除,即大约是一年之后。

这本来是个很普通的消息,没想到上周突然冒出了一批抢眼球的文章,说什么 Kubernetes 终于“甩掉”了 Docker ,一时间这条消息被炒得沸沸扬扬。不明就里的用户被吓得战战兢兢,不知所措。

这个 dockershim 其实是 Kubernetes 早期生长的一颗乳牙而已,现在“恒牙”已经长结实了,乳牙自然脱落就好。所以说,移去 dockershim 只是项目发展的必然结果,对用户影响微乎其微,不必多虑。

下面是一个简单的示意图,根据笔者在《Harbor权威指南》一书中的插图略微修改而来。Kubernetes 的 kubelet 可以支持多种符合 CRI 规范的运行时(runtime),例如 containerd 和 CRI-O。

而用户熟悉的 Docker(图中的 dockerd)不符合 CRI 规范,因此当年 kubelet 内置了一个模块 dockershim,用来对 Docker 进行 CRI 接口的适配。经过几年的发展,CRI 的运行时已经很成熟了,用户在 Kubernetes 中可以直接使用 containerd或者 CRI-O ,无需再通过 dockershim – dockerd – containerd 绕一圈(图中红色箭头),既费时又费力的。由此可见,dockershim 就是那颗已完成历史使命的乳牙而已,无足轻重了。

至于说 Kubernetes 彻底 “甩掉”了 Docker,也只是耸人听闻罢了。在可见的将来,Kubernetes 都无法真正摆脱 Docker 的影响。

先说说容器运

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值