Kubernetes 弃用 Docker !

多年间,Docker、Kubernetes 被视为云计算时代下开发者的左膀右臂。

  • Docker 作为一种开源的应用容器引擎,开发者可以打包他们的应用及依赖到一个可移植的容器中,发布到流行的 Linux 机器上,也可实现虚拟化。
  • Kubernetes,被称之为为 Docker 而生。同样作为开源容器集群管理系统,被用于管理云平台中多个主机上的容器化的应用。

不过,近日,Kubernetes 官方突然发文宣布,在 K8S v1.2 版本之后,将弃用 Docker,转而使用其他容器运行时。

那么,这是否意味着 Docker 将不能再使用?而这究竟又是怎么一回事?

Kubernetes 官方:不必恐慌

对此,Kubernetes 在官方博客中表示,用户无须惊慌,这则消息并没有听起来那么吓人。

Docker 作为基础运行时正在被弃用, 用户可以使用为 Kubernetes 创建的容器运行时接口 (CRI)。不过,Docker 仍然是构建容器的利器,其生成的映像将一如既往地在集群中与所有容器运行时继续工作。

不过,该篇博客也指出,如果你是 Kubernetes 的终端用户,那么这一改变不会给你带来太大的影响。它并不意味着 Docker 的消亡,也并不意味着你不能再将 Docker 用作开发工具。

不过,如果你使用的是 GKE 或 EKS 之类的托管 Kubernetes 服务,那么需要确保在将来删除 Docker 支持的 Kubernetes 版本中,确保辅助节点使用受支持的容器运行时。如果其中的节点有自定义项,则可能需要根据用户的环境和运行时要求进行相应的更新。

在 v1.20 版本中,你将收到 Kubernetes 针对 Docker 弃用的警告。在将来的 Kubernetes 版本(目前预估在 2021 年下半年 v1.23 版本)中删除 Docker 运行时支持时。

“此 Docker 非彼 Docker”

为了进一步解释,Kubernetes 官方表示,在 Kubernetes 集群中,有一个称为容器运行时的东西,负责提取和运行容器映像。Docker 是该运行时的热门选择(其他常见选项包括容器和 CRI-O),但是 Docker 的设计并非旨在嵌入 Kubernetes 中。

而站在更广泛的角度来看,我们日常称之为"Docker"的技术实际上是一个完整的容器技术堆栈,它本身就是一个高级容器运行时。此外,Docker 还包含了许多 UX 增强功能,使得我们在进行开发工作时很容易与之交互,但这些 UX 增强功能对于 Kubernetes 来说并不是必需的。

在常规应用中,Docker 不符合 CRI(容器运行时接口),用户使用 Kubernetes 集群必须借助另一个名为 Dockershim 的中间件工具来获取其真正需要的内容,该工具已被容器化。这意味着,官方必须要在 Docker 和 Kubernetes 之间再多走一步,这无疑增加了复杂性与成本。

实际上,Kubernete 早在 v1.23 发行版中就已将 Dockershim 从 Kubelet 中删除,从而删除了对 Docker 作为容器运行时的支持。

因此,作为用户,接下来,只需要将容器运行时从 Docker 更改为另一个受支持的容器运行时即可。

开发者还能继续使用 Docker 构建应用吗?

值得注意的是,开发者在开发中使用的 Docker 安装与 Kubernetes 集群中的 Docker 运行时无关。

或许这样说,依旧让很多人感到困惑。

简而言之,Docker 在宣布此更改之前的所有方式仍然对开发者有用。Docker 生成的镜像实际上是一个 OCI 镜像。

任何与 OCI 兼容的镜像,对于 Kubernetes 而言,都是一样的。除了 Docker 之外,containerd 和 CRI-O 都可以提取这些镜像并运行它们。

对于这一事件,Kubernetes 评价道,弃用 Docker ,这一变化即将到来,虽然会为部分用户带来不便,但带来的影响并不是灾难性的,相反,它倒是一件好事。从长远来看,它会让事情变得更加简单。

更多内容参考: https://kubernetes.io/blog/2020/12/02/dont-panic-kubernetes-and-docker/

  • 10
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值