【k8s003】k8s与docker的依赖关系

‌一、早期版本对应关系(Kubernetes 1.20 之前)‌

‌Kubernetes 1.13--1.19‌

‌支持的 Docker 版本范围‌:1.13.1 至 19.03.x‌

‌说明‌:此阶段 Kubernetes 直接依赖 Docker 作为默认容器运行时,需严格匹配版本以避免兼容性问题‌。

二、Kubernetes 1.20 及之后的版本演进‌

Kubernetes 从 1.20 版本开始逐步弃用对 Docker 的直接支持,转为通过 ‌CRI(容器运行时接口)‌ 与容器运行时交互‌。

Docker 仍可间接支持 Kubernetes,因其底层使用 containerd(符合 CRI 标准)‌。

实际上就是脱裤子放屁,是k8s为了摆脱docker依赖故意做的一种选择(一家之言)。

‌‌containerd‌:Kubernetes 官方推荐的 CRI 兼容运行时,与 Docker 共享底层组件‌。

‌CRI-O‌:专为 Kubernetes 设计的轻量级运行时‌。

三、版本选择建议‌

‌兼容性优先级‌

若使用 ‌Kubernetes 1.20+‌:建议直接采用 containerd 或 CRI-O,而非依赖 Docker‌。

若仍需使用 ‌Docker‌:确保其版本为 20.10.x 或更高(因底层 containerd 需兼容 Kubernetes CRI)‌。

‌生产环境优先选择 Kubernetes 和 Docker 的 ‌长期支持(LTS)版本‌,例如 Kubernetes 1.27(LTS)与 Docker 24.0.x‌。

更新前需验证版本兼容性,并备份关键配置‌。

四、依赖关系排查命令‌

检查当前 Kubernetes 集群使用的容器运行时:kubectl get nodes -o wide # 查看节点运行时类型(如 containerd、docker)‌

验证 Docker 版本兼容性:docker version

‌五、小结

‌技术趋势‌:Kubernetes 逐步脱离对 Docker 的强依赖,转向标准化 CRI 接口‌18。

‌实践建议‌:新集群优先采用 containerd 或 CRI-O,遗留系统可沿用 Docker(需版本匹配)‌

相关推荐
Joren的学习记录10 小时前
【Linux运维大神系列】Kubernetes详解3(kubeadm部署k8s1.23高可用集群)
linux·运维·kubernetes
Hellc00710 小时前
Docker网络冲突排查与解决方案:完整指南
网络·docker·容器
hanyi_qwe10 小时前
发布策略 【K8S (三)】
docker·容器·kubernetes
眠りたいです10 小时前
Docker核心技术和实现原理第二部分:docker镜像与网络原理
运维·网络·docker·容器
德育处主任11 小时前
『NAS』在群晖部署图片压缩工具-Squoosh
前端·javascript·docker
Mr. Cao code12 小时前
Docker数据管理:持久化存储最佳实践
java·docker·容器
盛夏52013 小时前
Docker容器化部署SpringBoot+Vue项目:从零到一在阿里云宝塔面板的实践指南
阿里云·docker·云计算
Cyber4K13 小时前
【Kubernetes专项】DockerFile、数据持计划、网络模式及资源配额
运维·网络·云原生·容器·kubernetes
Joren的学习记录14 小时前
【Linux运维疑难杂症】k8s集群创建calico网络失败
linux·运维·kubernetes
鲨莎分不晴14 小时前
Docker 网络深度解析:打破容器的“孤岛效应”
网络·docker·容器