首页 > 其他分享 >Kubernetes 和 docker 之间的版本对应关系

Kubernetes 和 docker 之间的版本对应关系

时间:2024-10-06 23:17:52浏览次数:9  
标签:容器 Kubernetes containerd 版本 docker Docker 运行

      Kubernetes 和 Docker 是两个紧密相关的技术,Docker 被广泛用于构建和运行容器,而 Kubernetes 用于编排这些容器。在早期,Kubernetes 依赖 Docker 作为其容器运行时(Container Runtime),因此了解 Kubernetes 与 Docker 版本之间的兼容性是非常重要的。

      然而,从 Kubernetes 1.20 开始,Kubernetes 开始逐步废弃对 Docker 作为容器运行时的直接支持,转而使用容器运行时接口(CRI)兼容的运行时,比如 containerd 或 CRI-O。Docker 本身使用 containerd 作为其容器运行时,所以尽管 Kubernetes 不再直接支持 Docker,使用 Docker 仍然可以间接支持 Kubernetes。

Kubernetes 和 Docker 的版本对应关系(历史兼容性)

  1. Kubernetes 1.13 到 1.19

    • 支持的 Docker 版本范围:1.13.1 到 19.03.x
  2. Kubernetes 1.20

    • 支持的 Docker 版本范围:1.13.1 到 19.03.x
    • 注意:从此版本开始,Kubernetes 宣布将逐步弃用 Docker 作为容器运行时
  3. Kubernetes 1.21 到 1.22

    • 支持的 Docker 版本范围:1.19.3 到 20.10.x
    • 仍然可以使用 Docker 作为容器运行时,但强烈建议迁移到 CRI 兼容的运行时(如 containerd)。
  4. Kubernetes 1.23 到 1.24

    • 支持的 Docker 版本范围:1.19.3 到 20.10.x
    • 从 Kubernetes 1.24 开始,Docker 被完全移除作为容器运行时的支持,必须使用 CRI 兼容的运行时(如 containerd)。

替代选项(容器运行时)

  • containerd:是一个符合 CRI 的容器运行时,是 Docker 的核心组件,从 Docker 18.09 开始就可以直接使用 containerd 作为运行时。
  • CRI-O:是一个专门为 Kubernetes 构建的轻量级容器运行时,与 containerd 类似。

迁移建议

  • 从 Docker 到 containerd:对于 Kubernetes 1.20 及更高版本,建议迁移到 containerd,以确保与 Kubernetes 的兼容性。
  • 使用 kubeadm:在 Kubernetes 1.23 及更高版本,使用 kubeadm 安装和管理 Kubernetes 集群时,它将默认使用 containerd 作为容器运行时。

总之,理解和保持 Kubernetes 和 Docker 版本的兼容性对于构建和维护稳定的集群至关重要。如果你正在使用 Kubernetes 1.20 或更高版本,建议开始规划向 CRI 兼容运行时的迁移。

标签:容器,Kubernetes,containerd,版本,docker,Docker,运行
From: https://blog.csdn.net/cfanllm/article/details/142731584

相关文章

  • MemoryAnalyzer指定JDK版本
    小手追梦于2021-06-2809:56:24发布阅读量2w收藏20点赞数21分类专栏:java版权java专栏收录该内容171篇文章4订阅订阅专栏问题描述MemoryAnalyzer启动时报错看了日志,提示需要jdk11才可以运行,但是我的环境变量配置的是jdk8,这咋整?不想更改环境变量中的jdk配置信息,因为......
  • OpenAI 发布适用于 .NET 库的稳定版本
    OpenAI在6月发布测试版后发布了其官方.NET库的稳定版本。它以NuGet包的形式提供,支持GPT-4o和GPT-4omini等最新模型,以及完整的OpenAIRESTAPI。该版本包括同步和异步API、流式聊天完成以及用于提高API一致性的关键性更改。开发人员可以扩展该库,并在支持.NETStan......
  • 高版本gcc编译低版本内核
    Ubuntu18.04安装arm-linux-gnueabi-gcc,版本为7.5.0,编译4.0.0Linux内核时出现linux/compiler-gcc7.h:Nosuchfileordirectory临时解决方法:find"linux/compiler-gcc*.h"inyourproject,"*"maybe3or5orotherscp"linux/compiler-gcc*.h""......
  • linux 中安装docker
    查看系统版本和内核版本docker依赖包的安装点击查看代码yuminstall-yyum-utilsdevice-mapper-persistent-datalvm2#docker依赖包的安装yum-config-manager--add-repohttps://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo#设置阿里云docke......
  • 全面图解Docker架构设计:掌握Docker全链路思维与优化(命令篇)
    Docker是一个革命性的开放平台,用于开发、交付和运行应用程序。通过使用Docker,开发者可以打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何支持Docker的环境中,在不同环境中实现一致的运行。无论是在虚拟机、物理服务器、数据中心还是云平台,Docker都能确保......
  • 全面图解Docker架构设计:掌握Docker全链路思维与优化(命令篇)
    Docker是一个革命性的开放平台,用于开发、交付和运行应用程序。通过使用Docker,开发者可以打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何支持Docker的环境中,在不同环境中实现一致的运行。无论是在虚拟机、物理服务器、数据中心还是云平台,Docker都能确......
  • 1分钟了解什么是docker和docker-compose?前后端必知必会技能GET啦
    @目录前情提要Docker定义:主要功能:命令示例:其他DockerCompose定义:我为什么使用它?主要功能:命令示例:主要区别配置文件:命令行操作:依赖关系管理:实际应用场景单个服务:多服务应用:总结结语欢迎路过的小哥哥小姐姐们提出更好的意见哇~~前情提要本文非常简短,如果需要详细介绍......
  • 如何解决 构建dotnet docker镜像时报错:error NU1301: Unable to load the service ind
    我用的是dockerdesktop,Builders设置:desktop-linux以下是我的dotnet项目的Dockerfile内容FROMmcr.microsoft.com/dotnet/aspnet:6.0ASbaseWORKDIR/appEXPOSE80EXPOSE443FROMmcr.microsoft.com/dotnet/sdk:6.0ASbuildWORKDIR/srcCOPY["NuGet.Config","......
  • STM32F1系列 HAL&LL中文注释库 适用于STM32F101 103 105等MCU 1.8.5版本
    *******下有更多展示图片********由于本汉化不改变官方文件的内容与结构,文档内的链接和官方的营销信息,很多的资源站对内容有检测无法上传,同时考虑这云盘、那博客的限速、会员、账号要求。此文档挂于淘宝,价格:19.9元(GPT回血)说明:机器人自动发货,蓝奏云不限速下载,保证图文......
  • 随机组句小游戏-V1.13版本
    玩法:随机抽取地点人物事件,来组句2024/10/03进行微调.\(代码/Code:\)#include<bits/stdc++.h>#include<windows.h>#defineSM_printf("%c%c%c%c%c%c",-64,-18,-278,-59,-319,-40);usingnamespacestd;ints1,s2,s3,xz1,bool01;stringcopy_;stringplace[105]......