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

cri-docker的学习和了解-番外的更多相关文章

  1. Netty学习笔记(番外篇) - ChannelHandler、ChannelPipeline和ChannelHandlerContext的联系

    这一篇是 ChannelHandler 和 ChannelPipeline 的番外篇,主要从源码的角度来学习 ChannelHandler.ChannelHandler 和 ChannelPipeli ...

  2. JVM学习总结五(番外)——VisualVM

    距离上次介绍Jconsole已经时隔两周了,这期间由于工作中要用go来做一个新项目,所以精力都用在入门go上了,不过发现go语言用起来真的挺不错的,比python感觉还好点,大家没事可以了解下.   ...

  3. JVM学习总结五(番外)——JConsole

    之前本来打算结合自己写的小程序来介绍JConsole和VirtualVM的使用的,但是发现很难通过一个程序把所有的场景都体现出来,所以还是决定用书中的典型小例子来讲更加清晰. 一.JConsole的基 ...

  4. 给深度学习入门者的Python快速教程 - 番外篇之Python-OpenCV

    这次博客园的排版彻底残了..高清版请移步: https://zhuanlan.zhihu.com/p/24425116 本篇是前面两篇教程: 给深度学习入门者的Python快速教程 - 基础篇 给深度 ...

  5. openresty 学习笔记番外篇:python的一些扩展库

    openresty 学习笔记番外篇:python的一些扩展库 要写一个可以使用的python程序还需要比如日志输出,读取配置文件,作为守护进程运行等 读取配置文件 使用自带的ConfigParser模 ...

  6. openresty 学习笔记番外篇:python访问RabbitMQ消息队列

    openresty 学习笔记番外篇:python访问RabbitMQ消息队列 python使用pika扩展库操作RabbitMQ的流程梳理. 客户端连接到消息队列服务器,打开一个channel. 客户 ...

  7. Opengl_入门学习分享和记录_番外篇01(MacOS上如何在Xcode 开始编辑OpenGL)

    写在前面的废话: 哈哈 ,我可真是勤勉呢,今天又来更新了,这篇文章需要大家接着昨天的番外篇00一起食用! 正文开始: 话不多说,先看代码. 这里主要全是使用的glfwwindowhint 这个函数,他 ...

  8. Golang Gin实践 番外 请入门 Makefile

    Golang Gin实践 番外 请入门 Makefile 原文地址:Golang Gin实践 番外 请入门 Makefile 前言 含一定复杂度的软件工程,基本上都是先编译 A,再依赖 B,再编译 C ...

  9. 羽夏看Win系统内核—— VT 入门番外篇

    写在前面   此系列是本人一个字一个字码出来的,包括示例和实验截图.由于系统内核的复杂性,故可能有错误或者不全面的地方,如有错误,欢迎批评指正,本教程将会长期更新. 如有好的建议,欢迎反馈.码字不易, ...

  10. 番外篇 之 C#委托

    对于上一节 番外篇之C#多线程的反思 反思一:   Thread th = new Thread(参数); ////参数的总结 ////首先,第一情况,对于 Thread th = new Threa ...

随机推荐

  1. 红日靶场5-wp

    红日靶场5 环境搭建 win7 账密及域 leo@sun 123.com sun\Administrator dc123.com 双网卡模拟内外网 外网网卡:192.168.130.150 内网网卡: ...

  2. STM32CubeMX教程7 TIM 通用定时器 - 输入捕获

    1.准备材料 开发板(STM32F407G-DISC1) ST-LINK/V2驱动 STM32CubeMX软件(Version 6.10.0) keil µVision5 IDE(MDK-Arm) X ...

  3. 文心一言 VS 讯飞星火 VS chatgpt (175)-- 算法导论13.3 4题

    四.用go语言,Teach 教授担心 RB-INSERT-FIXUP可能将 T.nil.color 设为 RED,这时,当 z 为根时第1行的测试就不会让循环终止.通过讨论 RB-INSERT-FIX ...

  4. Linux IPTables:如何添加防火墙规则

    摘要:本文介绍了如何使用"iptables -A"命令添加 iptables 防火墙规则. 本文分享自华为云社区<Linux IPTables:如何添加防火墙规则(使用允许 ...

  5. MPU:鸿蒙轻内核的任务栈的溢出检察官

    摘要:MPU(Memory Protection Unit,内存保护单元)把内存映射为一系列内存区域,定义这些内存区域的维洲,大小,访问权限和内存熟悉信息. 本文分享自华为云社区<鸿蒙轻内核M核 ...

  6. Solon 问答:项目如何直接添加 https 支持?

    app.yml 添加两行配置即可: #设定SSL证书(支持:solon.boot.jdkhttp 或 solon.boot.jlhttp 或 solon.boot.jetty 或 solon.boot ...

  7. PPT 求职应聘:如何利用时间轴去展示

    顺序逻辑的梳理 线条 竖直排列 图形结合

  8. 使用 Diffusers 通过 DreamBooth 来训练 Stable Diffusion.md

    邀请参与我们的 DreamBooth 微调编程马拉松活动! DreamBooth 是一种使用专门的微调形式来训练 Stable Diffusion 的新概念技术.一些人用他仅仅使用很少的他们的照片训练 ...

  9. 浅谈sql执行流程、innodb架构设计、buffer pool缓冲池

    一.从服务端到数据库sql执行流程: 1.SQL接口:负责处理接收到sql的语句 2.查询解析器:负责将sql变成数据库可以看懂的语言 3.查询优化器:选择最优的查询路径(针对你编写的复杂sql语句生 ...

  10. GPT应用开发:运行你的第一个聊天程序

    本系列文章介绍基于OpenAI GPT API开发大模型应用的方法,适合从零开始,也适合查缺补漏. 本文首先介绍基于聊天API编程的方法. 环境搭建 很多机器学习框架和类库都是使用Python编写的, ...