关于kubernetes和docker版本的一些总结

前言

在开始细讲之前先总结一下:

1、使用v1.24及以后的版本,推荐使用符合CRI标准的容器运行时,如果非要使用docker作为容器运行时,可以通过安装cri-dockerd这个插件来支持。

2、kubernetes从v1.22版本开始移除docker的cgroup驱动程序的自动检测和匹配,也就是说如果你还要使用cgroup需要自己进行配置。

3、查看kubernetes兼容的docker版本可以通过kubernetes的变更日志查看kubernetes/CHANGELOG/README.md at master · kubernetes/kubernetes · GitHub

怎样选择kubernetes和docker版本

大家可以通过下面的链接去github上查看kubernetes的变更日志

kubernetes/CHANGELOG/README.md at master · kubernetes/kubernetes · GitHub

可以全局搜一下,有时候他会展示在Action required里面,有时候会展示在Changed里面。

从Action required中可以看到它推荐v1.9.1,但是v1.8.3和v1.10也是经过验证可用的。

从Changed中可以看到他从v20.10.12+不兼容变更为v20.10.17不兼容。

kubernetes针对docker的一些变更

1、kubernetes从v1.20版本开始将要弃用docker作为底层容器运行时。

2、kubernetes从v1.22版本开始移除docker的cgroup驱动程序的自动检测和匹配,也就是说如果你还要使用cgroup需要自己进行配置。也就是说从v1.22版本开始将默认使用cgroup v2。想要了解v1和v2有什么区别可以看看这篇文章cgroup V1和V2的原理和区别-阿里云开发者社区

3、kubernetes从v1.24版本开始移除dockershim,也就是从v1.24版本开始就不支持docker作为底层容器运行时,只能使用其他符合CRI标准的容器运行时,比如containerd、CRI-O。

为什么Kubernetes(K8S)弃用Docker:深度解析与未来展望-腾讯云开发者社区-腾讯云

4、但是为什么1.24版本以后的版本还会写支持那些docker版本或者有些博客虽然使用的是v1.24版本以后的kubernetes,但是还使用docker作为底层容器运行时,这是因为虽然kubernetes取消了内置dockershim,但是可以使用cri-dockerd这个插件来支持docker作为底层容器运行时。跟之前的区别就是从内置dockershim变为外置dockershim。

GitHub - Mirantis/cri-dockerd: dockerd as a compliant Container Runtime Interface for Kubernetes

docker版本号的变化

大家肯定好奇docker的版本号为什么从1.x->突然变成了17.x->,这是因为Docker Engine在2017年被分为Docker CE(社区版)和Docker EE(企业版),所以版本号进行了改编

Docker介绍和docker重大版本变更历史_docker版本-CSDN博客

相关推荐
zhujilisa40 分钟前
k8s基础
云原生·容器·kubernetes
夏天是冰红茶1 小时前
使用Docker将PyQt深度学习项目打包成镜像
运维·docker·容器
龙门吹雪2 小时前
Docker 安装 canal 详细步骤
运维·docker·容器·canal·mysql binlog 日志·增量数据订阅消费
杨浦老苏3 小时前
文件共享应用程序Palmr
docker·群晖·网盘
小白不想白a4 小时前
【Ansible】使用ansible部署k8s集群前的准备工作脚本
容器·kubernetes·ansible
啥也不会的小胡4 小时前
深入理解 Docker:从入门到实践
docker·容器
Lin_Aries_042111 小时前
容器化简单的 Java 应用程序
java·linux·运维·开发语言·docker·容器·rpc
岁岁种桃花儿11 小时前
详解 Kubernetes 命令:kubectl exec -it nginx -- bash 及实战场景
运维·nginx·kubernetes
人逝花落空.13 小时前
docker容器的三大核心技术UnionFS(下)
运维·docker·容器
Insist75313 小时前
基于OpenEuler部署kafka消息队列
分布式·docker·kafka