设为首页收藏本站language 语言切换
查看: 1624|回复: 1
收起左侧

[分享] 白话介绍kubernetes不支持docker了

[复制链接]
发表于 2022-6-15 17:38:02 | 显示全部楼层 |阅读模式
本帖最后由 老哈 于 2022-6-15 17:41 编辑

先举一个例子
开天辟地时,天地间就有了一宝贝:金士顿移动硬盘。
又过了几万年之后,天地间产生了一个新的产品叫做笔记本电脑,但是这个笔记本却缺少存储设备。然后这个笔记本一看,诶?世界上还有这样的一款外接设备叫做移动硬盘,这个笔记本电脑上就自带一根线头连接着这个金士顿硬盘,如下图。

后来又过了很多年,又产生了一些其他品牌的移动硬盘比如闪迪和西数,他们也想让这个笔记本使用他们作为外接设备,当然这个笔记本留了更多的线头连接各种移动硬盘来满足了他们,如下图。

这样笔记本上就裸露出很多的线头以连接了不同品牌的移动硬盘。但是笔记本一看,这样不行啊,我都变成“大蜈蚣”了,咋有那么多线头呢,真丑啊,这个不行,绝对不行。
于是呢,这个笔记本就开发出了一个接口叫做USB接口,然后跟这些移动硬盘说:“同志们,我这开发了一个接口,叫做USB,你们呢要想连接到我这台电脑上作为外接设备,你们就遵从这个USB标准就可以了,如果你们自身接口不满足USB标准的话,你们就造一个满足USB标准的转接头。”


所以呢,除了金士顿之外其他的移动硬盘要不带有USB接口,要不就用一个带有USB接口的数据线来连接到笔记本。

但是这个金士顿移动硬盘偏不,他说我没这个接口,也研究不出来。那咋办呢,没办法,因为这个金士顿太强大了,所以笔记本上仍然留了一个线头连接着金士顿移动硬盘。

又过了很久,这个笔记本发展的已经很强大了,而且也已经有了很多其他牌子的移动硬盘可用,没必要非金士顿不可了,所以这个笔记本就开始把连接金士顿的那个线头给切掉了。



这下完了,金士顿硬盘没法连接到笔记本上了,用不了了。
同理去理解CRI shim
在k8s刚出来的时候,除了docker之外并没有几个runtime(运行时,就是管理容器的东西),所以呢在k8s里就内置了代码来适配docker,如下图。



后来除了docker之外又有了其他的runtime,比如rkt。然后呢在kubernetes代码里也内置了代码来适配rkt。

后来又有了越来越多的runtime,比如cri-o、containerd等,他们也想集成到kubernetes里让kubernetes以他们作为runtime。

这样一来,kubernetes发现,这样不行啊,这样没完没了的,我这代码太臃肿了不好维护。干脆我就开发一个叫做CRI(容器运行时接口)的标准,并对这些运行时说:“你们也别都想着让把你们整合到我的代码里了,我这开发了一个接口叫做CRI,你们这些runtime只要符合CRI标准就能连接到我了。当然了,如果你们不符合CRI标准的话,你们自己就弄一个转接口转接一下就行了。这个转接口就称之为shim(垫片)吧”。

然后呢有些runtime就开发了符合CRI标准的转接线就是一个shim,叫做CRI-shim。当然有些runtime本身就符合CRI接口了,那么这个runtime就是CRI-shim。

但是呢docker说,我没有CRI接口也开发不出来符合CRI接口的shim。那咋办呢?没办法,因为docker太强大了,所以kubernetes(其实是kubelet)里仍然内置了连接docker的代码叫做(dockershim)。

除了dockershim是内置的,其他的shim一律称之为remote。所以在使用除docker之外的runtime,kubelet都会有一个选项叫做KUBELET_EXTRA_ARGS=--container-runtime=remote。

又过了几年,这时kubernetes已经足够强大了,而且也有了很多其他runtime可选,也不是非docker不可了,所以他必须要一视同仁,所以呢从kubernetes 1.24版本里就把dockershim从kubernetes(其实是kubelet)的代码中移除了。



这下完了,docker不能再作为kubernetes的runtime了。如果要非想让docker作为kubernetes的runtime的话,那么就必须要找一个符合CRI标准的转接口了,这个就是cri-docker,他是一个符合CRI标准的shim(转接口),他可以作为一个转接口连接kubernetes和docker。
[color=rgba(0, 0, 0, 0.8)]当然了,这也不能说docker不行了,docker仍然是非常有用的,比如构建镜像、搭建仓库等。


发表于 2022-10-14 11:32:45 | 显示全部楼层
很有趣的見解, 感謝分享!
沙发 2022-10-14 11:32:45 回复 收起回复
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 论坛注册

本版积分规则

QQ|Archiver|手机版|小黑屋|sitemap|鸿鹄论坛 ( 京ICP备14027439号 )  

GMT+8, 2025-2-3 20:05 , Processed in 0.057034 second(s), 13 queries , Redis On.  

  Powered by Discuz!

  © 2001-2025 HH010.COM

快速回复 返回顶部 返回列表