关于Kubernetes不兼容Docker

news/2024/12/29 23:48:39/

本博客地址: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.ppmy.cn/news/27277.html

相关文章

基于SpringBoot的外卖项目(详细开发过程)

基于SpringBootMyBatisPlus的外卖项目1、软件开发整体介绍软件开发流程角色分工2、外卖项目介绍项目介绍产品展示后台系统管理移动端技术选型功能结构角色3、开发环境的搭建开发环境说明建库建表Maven项目搭建项目的目录结构pom.xmlapplication.ymlReggieApplication启动类配置…

whistle+SwitchyOmega配置代理解决白名单跨越

文章目录whistleSwitchyOmega配置代理什么是whistle什么是SwitchyOmega示例:作用为什么不直接使用SwitchyOmega代理whistleSwitchyOmega配置代理 什么是whistle whistle主要用于查看、修改HTTP、HTTPS、Websocket的请求、响应,也可以作为HTTP代理服务器…

ideal创建maven项目

前置工作本机安装mavenIdea 设置使用本机maven 工具Settings--->Maven开始创建maven项目创建maven项目,勾选通过模板创建,选择 maven-archetype-webapp 模板GroupId: 公司名倒序ArtifactId: 项目名设置本地maven仓库配置项目文件显示名,和…

C语言——柔性数组

目录0. 前言1. 思维导图2. 柔性数组的特点3. 柔性数组的使用4. 柔性数组的优势5. 结语0. 前言 柔性数组是在C99标准时引入: 结构中的最后一个元素允许是未知大小的数组,这就叫柔性数组成员。 代码示例: typedef struct flexible_arr {int a…

FPGA纯vhdl实现MIPI CSI2 RX视频解码输出,OV13850采集,提供工程源码和技术支持

目录1、前言2、Xilinx官方主推的MIPI解码方案3、纯Vhdl方案解码MIPI4、vivado工程介绍5、上板调试验证6、福利:工程代码的获取1、前言 FPGA图像采集领域目前协议最复杂、技术难度最高的应该就是MIPI协议了,MIPI解码难度之高,令无数英雄竞折腰…

Python的PyQt框架的使用-资源文件夹的使用

Python的PyQt框架的使用-资源文件夹的使用一、前言二、Qt Designer加载资源文件三、资源文件的转换一、前言 个人主页: ζ小菜鸡大家好我是ζ小菜鸡,小伙伴们,让我们一起来学习Python的PyQt框架的使用。如果文章对你有帮助、欢迎关注、点赞、收藏(一键三…

Wgcloud安装和使用(性能监控)

一、Wgcloud说明 官网:https://www.wgstart.com/ WGCLOUD支持主机各种指标监测(cpu使用率,cpu温度,内存使用率,磁盘容量,磁盘IO,硬盘SMART健康状态,系统负载,连接数量&…

设计模式-行为型模式:策略模式

目录 1、简介 2、组成部分 3、优缺点 4、使用场景 5、代码实现 1、简介 策略模式(Strategy Pattern)是一种行为型设计模式,它定义了一系列算法,将每个算法封装起来,使它们可以相互替换,而且算法的变化…