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

相关推荐
德育处主任1 天前
『NAS』在群晖部署一个文件加密工具-hat.sh
前端·算法·docker
运维栈记1 天前
虚拟化网络的根基-网络命名空间
网络·docker·容器
Joren的学习记录1 天前
【Linux运维大神系列】Kubernetes详解3(kubeadm部署k8s1.23高可用集群)
linux·运维·kubernetes
Hellc0071 天前
Docker网络冲突排查与解决方案:完整指南
网络·docker·容器
hanyi_qwe1 天前
发布策略 【K8S (三)】
docker·容器·kubernetes
眠りたいです1 天前
Docker核心技术和实现原理第二部分:docker镜像与网络原理
运维·网络·docker·容器
德育处主任1 天前
『NAS』在群晖部署图片压缩工具-Squoosh
前端·javascript·docker
Mr. Cao code1 天前
Docker数据管理:持久化存储最佳实践
java·docker·容器
盛夏5201 天前
Docker容器化部署SpringBoot+Vue项目:从零到一在阿里云宝塔面板的实践指南
阿里云·docker·云计算