当前位置: 首页 > news >正文

关于Kubernetes不兼容Docker

本博客地址:https://security.blog.csdn.net/article/details/129153459
参考文献:https://www.cnblogs.com/1234roro/p/16892031.html

一、总结

总结起来就是一句话:

k8s只是弃用了dockershim,并不是弃用了整个Docker(这里指容器),即不再支持让docker去调用containerd,而是直接操作containerd

具体可以溯源一下功能链,就很清晰了:

1、dockershim的作用是把外部收到的请求转化成docker daemon能听懂的请求,让docker daemon执行相关的容器操作;
2、docker daemon是Docker的守护进程,是docker engine中真正处理事务的部分,它的主要功能包括镜像管理、镜像构建、REST API、身份验证、安全、核心网络以及编排;
3、docker daemon捐献给CNCF后,就形成了containerd,而Kubernetes也是CNCF项目,因此它们的标准是一样的(CRI标准);
4、所以对于容器的运行,就变成了Kubernetes直接调用containerd,相较此前本质上没有任何变化,只是去掉了一条复杂的调用链而已。

如下图所示:

在这里插入图片描述

二、历史

2016年,k8s发布了1.0版本,该版本可以正式用于生产环境,同年,k8s加入CNCF基金会;

2016年,k8s发布了1.5版本,引入了新的接口标准CRI,CRI规定k8s该如何调用容器运行时去管理容器和镜像,同时为了兼容docker(因为它用户量太庞大了),产生了转换适配组件(dockershim);

2017年,Docker将docker engine拆分,将其中的docker daemon部分捐献给了CNCF基金会,形成了containerd;

2018年,containerd发布了1.1版本,正式支持CRI标准,与k8s实现集成(此时k8s是1.10版本),此时k8s可直接调用containerd;

2020年,k8s宣布将弃用对Docker的支持(此时k8s是1.20版本),未来将删除dockershim;

2022年,k8s发布了1.24版本,正式剔除dockershim;

至此,弃用对于Kubernetes和Docker来说都不会有什么太大的影响,因为他们两个都早已经把下层都改成了开源的containerd,原来的Docker镜像和容器仍然会正常运行,唯一的变化就是Kubernetes绕过了Docker,直接调用Docker内部的containerd而已。

具体关系参考下图:

在这里插入图片描述

http://www.lryc.cn/news/17027.html

相关文章:

  • MySql_基础篇_从下载mysq到数据库操作
  • 当我尝试问了chatGPT几个问题之后,我感到了危机......
  • 如何生成全局唯一ID
  • 基于node vue的电商系统 mongodb express框架
  • 【03-JVM面试专题-JVM中你知道的类加载器有哪些?作用是什么?分别用来加载什么文件?什么内容的呢?】
  • 面试纪要FFFFF
  • gma 1.1.3 (2023.02.22) 更新日志
  • 现有安全技术
  • Qt QMAKE_MSC_VER
  • 如何通俗地理解原码、反码和补码
  • 在vite vue3 前端架构中,切换环境,切换项目的架构设计方案
  • 华为OD机试真题Python实现【跳格子】真题+解题思路+代码(20222023)
  • Python 入门之文件和异常处理
  • 操作系统作业
  • 【计算机网络 -- 期末复习】
  • 三、(补充)接口是对类的一部分行为的抽象
  • CIMCAI intellgent ship product applied by world top3 shipcompany
  • 媒体见面会怎么做?
  • Nginx面试题一步到位
  • 华为OD机试真题 用 C++ 实现 - 括号检查
  • Windows下SecureCRT的下载、安装、使用、配置【Telnet/ssh/Serial】
  • Git 分支操作
  • 【面试题】TCP如何保证传输可靠性?TCP流量控制实现、拥塞控制、ARQ协议、停止等待ARQ、连续ARQ
  • MySQL一隐式转换
  • 风光并网对电网电能质量影响的matlab/simulink仿真建模
  • 浅谈Spring循环依赖
  • 华为OD机试题 - 拼接 URL(JavaScript)| 包含代码编写思路
  • 【FFMPEG】Filtering Introduction[翻译/举例]
  • 什么是IP65?仅仅是防水等级吗?看完本文直呼666!
  • Flask入门(10):数据库连接池