关于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博客

相关推荐
java_logo36 分钟前
SGLANG Docker容器化部署指南
linux·运维·docker·容器·eureka·1024程序员节
Qayrup1 小时前
各个系统的 docker安装
运维·docker·容器
代码or搬砖2 小时前
Docker 部署 Java 项目实践
java·docker·容器
蓝象_2 小时前
docker下载配置redis
redis·docker·容器
恋上钢琴的虫4 小时前
openEuler上安装高版本的docker
运维·docker·容器
半梦半醒*5 小时前
k8s——service详解
linux·运维·docker·容器·kubernetes
期待のcode6 小时前
Dockerfile镜像构建
java·docker·容器
回忆是昨天里的海7 小时前
k8s部署dashboard ui管理平台
云原生·容器·kubernetes
guygg888 小时前
Rocky Linux 8.9配置Kubernetes集群详解,适用于CentOS环境
linux·kubernetes·centos
chen_note10 小时前
Kubernetes1.23版本搭建(三台机器)
运维·容器·kubernetes·云计算·kubepi