前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >K8s 将弃用 Docker

K8s 将弃用 Docker

作者头像
dys
发布2020-12-18 15:27:42
1.9K0
发布2020-12-18 15:27:42
举报
文章被收录于专栏:性能与架构性能与架构

Kubernetes 1.20 版本发布了,其中有一项重要变更,就是将对 Docker 的支持声明为了过期,在之后的版本中会直接移除。

这项变动引起了不小的轰动,那么 K8s 为什么要弃用 Docker 呢?对我们的影响有多大呢?

下面就聊聊这两个问题。

K8s 为什么要弃用 Docker?

简单来讲就是 K8s 支持 Docker 的代价太大了。

首先,对于 K8s 来说 Docker 太重了。

Docker 是包含了很多东西的,例如:

  • CLI
  • API
  • Server
  • Container Runtime
  • Volumes
  • Network
  • build image

但是 K8s 只是使用其中的 container runtime(容器运行环境)。

其次,K8s 为了支持 Docker 还需要单独开发和维护一个组件 -- dockershim

因为 Docker 不支持 K8s 的 CRI 标准,所以 K8s 需要搭建一个对接 Docker 的桥梁,就是 dockershim。

dockershim 只是一个临时解决方案,长期的维护越来越麻烦,例如不兼容 cgroups v2、用户命名空间等新特性。

基于以上两个原因,K8s 决定弃用 Docker。

对我们有什么影响?

K8s 支持遵循 OCI(Open Container Initiative)标准的容器运行环境,包括:

  • containerd
  • CRI-O

而 Docker 构建的 image 就是遵循 OCI 标准的,所以在 K8s 中运行是完全没问题的。

这下就可以放心了,我们还是该怎么用 Docker 就怎么用。

例如:

对开发人员没有任何影响;

对于 CI/CD 构建流程也没有影响;

还有我们平时使用的工具,如 MiniKube、Docker Desktop 都没影响。

有影响的就是 K8s 的运维人员,需要使用 containerd or CRI-O 来替换 Docker,作为新的容器运行环境。

对这件事你有什么看法,欢迎留言讨论。

参考资料:

https://kubernetes.io/blog/2020/12/08/kubernetes-1-20-release-announcement/

https://medium.com/dev-genius/no-docker-isnt-dead-2b9ee45d5833

https://medium.com/better-programming/kubernetes-is-deprecating-docker-8a9f7566fbca

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-12-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 JAVA高性能架构 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • K8s 为什么要弃用 Docker?
  • 对我们有什么影响?
相关产品与服务
容器镜像服务
容器镜像服务(Tencent Container Registry,TCR)为您提供安全独享、高性能的容器镜像托管分发服务。您可同时在全球多个地域创建独享实例,以实现容器镜像的就近拉取,降低拉取时间,节约带宽成本。TCR 提供细颗粒度的权限管理及访问控制,保障您的数据安全。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档