cri-docker的学习和了解-番外

发布时间 2023-12-14 06:42:29作者: 济南小老虎

cri-docker的学习和了解-番外


前言

因为已经有足足两年多没再详细接触K8S了. 
然后利用两个晚上搭建了IPV6 SingleStack的K8S单机版
中间一直使用的docker的方式学习和工作
然后有段时间研究过 containerd和buildkit
但是感觉先入为主的力量还是非常强大. 

正好这次搭建环境还是使用的docker. 感觉挺温暖的
所以想学习和总结一下用到的cri-docker组件

缅怀一下接触docker 这七八年的时光. 

Docker

Docker 其实是一个有着 十年历史的项目. 
从最开始的惊艳, 到现在的泯然众人矣
其实历史的车轮总是滚滚向前,顺之者昌逆之者亡. 

Docker属于踩对了一个步点, 但是迷失在了自己可能的成功的愿景里面
最终被Don't be evil 的谷歌打残. 

自己工作以来第一次接触业内前沿三年内的技术就是docker. 
所以其实还是很有感情的. 虽然自己的水平一直只是个普通用户的角色. 
其实Docker只是一种运行时和打包的方式. 
按理说也没有多大的新意, 但是他将分层文件系统和网络栈融合起来之后就会节约大家大量的时间.

所有技术的进步都是依靠减少成本来大量爆发的. 
我一直理解docker 最大的优点是可以减少一些环境依赖
其实java本身就是基于JVM的.可以做到一个文件件自包含进行启动. 

Docker 内的java可以实现不可变的镜像和完全一样的体验是他最大的优点. 

K8S的崛起

谷歌眼里自己是聛睨一切的存在. 
技术上面在座的各位都是垃圾. 

Docker的存在给了他很大的打击, 影响了自己技术第一的人设
所以他将自己的borg 进行了 重构性质的开源. 也就是 kubernetes K8S

其实K8S出现的源头就是google 为了与docker争夺开源一哥地位用的
所以他从一开始就想着能够摆脱对docker的以来. 
也就有了 OCI 以及后面 CRI CNI 等组件

谷歌在2018年事实上赢得了 容器编排大战的时候 就已经准备对docker进行斩草除根的处理了.

并且在1.24的某个版本 彻底放弃了 docker-shim的垫片, 无法直接使用docker作为容器运行时. 

Docker的时代其实已经落幕. 

苟且偷生

谷歌作为开源界最大的大腿,已经将docker吃干抹净. 
但是docker作为一个曾经辉煌的公司,不能直接引颈就戮. 

K8S废掉了docker-shim 不原生支持 docker 作为运行时
那么就有人开源了 cri-docker 作为一个K8S和docker的中间层
一方面跟符合K8S的 cri的api 一方面再去调用 docker
算是一个新的垫片. 

他会有调度方面的性能损耗. 但是并不会对运行时产生太大的性能损耗.
但是有很多跟我一样的人, 喜欢一套脚本, 不喜欢太多的变更
喜欢这样的垫片帮解决很大的问题. 

所以 docker在K8S如日中天中还在苟且偷生. 
通过垫片的方式继续在云原生的领域坚强的活着. 

总结

技术在进步, 必须向前看
但是大家都有自己的小确幸. 想能够有一个温暖的港湾
可以刷刷视频看看小说. 

还是需要多学习, 不然可能连自己的孩子都不如. 
需要保持谦虚与内敛. 世界的发展很快. 区块链其实比Docker的出现还早四五年. 
但是他的辉煌却比docker还要晚 当然现在还处于辉煌的后期. 

别人干不到你能干到是你的能力. 大家都可以你也可以, 你就是可有可无

Docker就是从只有自己的能做到, 到了大家都可以,然后才被蹂躏到死. 
所以生活和工作一样, 保持自己的独立性应该是最重要的.