Kubernetes正在弃用Docker:你需要知道的事

Kubernetes正在弃用Docker?!

一段时间以来,当人们想到容器时,就会想到Docker和Kubernetes。在构建和运行容器方面,Docker一直是大名鼎鼎,而在管理和编排容器方面,Kubernetes就是事实的上的标准。听说 Kubernetes从1.20版开始将废弃Docker作为容器运行时,这似乎有点令人震惊。

所以,让我们借此机会看看这种变化的真正含义,以及Kubernetes用户需要做些什么。

Docker有什么变化?

Kubernetes弃用Docker实际上并不像听起来那么重要,所以让我们来谈谈这里真正发生的事情。

Kubernetes正在取消对Docker作为容器运行时的支持。Kubernetes实际上并不处理在机器上运行容器的过程。相反,它依赖于另一个称为容器运行时的软件。

在这里插入图片描述

容器运行时在主机上运行容器,Kubernetes告诉每个主机上的容器运行时要做什么。当涉及到在运行Kubernetes时要用作容器运行时的软件时,您实际上可以从多种选项中进行选择。到目前为止,一个相当流行的选择是使用Docker作为容器运行时。

但是,这将不再是未来的选择。您仍然可以以与Kubernetes相关的其他方式使用Docker,但您将无法使用Docker作为Kubernetes的容器运行时。

为什么Kubernetes弃用Docker?

到目前为止,Kubernetes已经支持使用Docker作为容器运行时,那么为什么他们选择停止支持它呢?

Kubernetes可与所有实现称为容器运行时接口(CRI)标准的容器运行时一起使用。这本质上是 Kubernetes和容器运行时之间通信的标准方式,任何支持该标准的运行时都可以与Kubernetes配合使用。

在过去,容器运行时没有那么多好的选择,Docker又没有实现容器运行时接口(CRI),所以Kubernetes就实现了Docker shim组件,这是一个额外的层,用作Kubernetes和Docker之间的接口。然而,现在有很多实现CRI接口的运行时可用,Kubernetes保持对Docker的特殊支持就不再有意义。

到底发生了什么?

要真正理解为什么Kubernetes弃用Docker是有意义的,我们需要更深入一点。

我会告诉你一个秘密:Docker实际上并不是一个容器运行时!它实际上是一组工具,位于名为containerd的容器运行时之上。

这是正确的!Docker不直接运行容器。它只是在单独的底层容器运行时之上创建了一个更易于人类访问且功能丰富的界面。当用作Kubernetes的容器运行时,Docker只是Kubernetes和containerd之间的中间人。

在这里插入图片描述

然而,Kubernetes可以直接使用containerd作为容器运行时,这意味着不再需要Docker这个中间人角色。即使在Kubernetes生态系统中,Docker仍然可以提供很多东西。它只是不需要专门作为容器运行时。

在这里插入图片描述

Docker 未来的作用是什么?

尽管Docker不需要作为Kubernetes中的容器运行时,但它仍然可以在Kubernetes生态系统和您的工作流程中发挥作用。

Docker作为开发和构建容器镜像以及在本地运行它们的工具仍然很强大。Kubernetes仍然可以运行使用Docker的镜像格式构建的容器,这意味着您仍然可以使用Dockerfiles并使用Docker构建容器镜像。

Kubernetes也将继续能够从Docker仓库(例如Docker Hub)中提取镜像。这意味着Docker在镜像构建后的镜像管理上仍然是一个强有力的竞争者。

总而言之,Docker将继续成为您的开发工作流和持续集成系统中的有用工具,即使Kubernetes不在支持Docker。

Containerd和CRI-O:Docker的替代方案

如果您当前在Kubernetes环境中使用Docker作为容器运行时,则需要进行一些更改。只需消除Docker作为Kubernetes环境中的中间人,改用另一个容器运行时,例如containerd或CRI-O。

除此之外,没有什么其他的改变。您可以继续使用Docker来构建您的镜像,以及出于开发目的在本地或在您的持续集成系统中运行容器。您还可以继续使用Docker仓库来存储和管理您的镜像。

当然您如果不知道如何更改您的Kubernetes,建议您尝试使用StarOS来构建部署您的应用。这样您就再也不必担心此类问题。

StarOS是一个一站式云原生在线开发平台,底层技术基于Kubernetes。

StarOS通过架构图模型,将微服务的依赖关系固化,完成了对整个应用的封装,从而实现了应用与环境的解耦。无论是应用复制,还是应用迁移,都得心应手。并且基于基础设施下沉的理念,将底层的容器集群资源、运维管理工具,以及中间件、环境配置等全部下沉为平台能力,真正做到了一站式,而且开箱即用。

StarOS还为研发团队提供了多职能、多场景的多人在线协作研发工具,支持研发工作中多种输出物的在线编辑交付,让您在异地协同,远程办公的时候,尽享便利。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值