冷静点,各位。你的Docker技能并没有突然变得毫无用处,不是说世界末日来了,实际上并不会改变一切。
Docker、Kubernetes 被视为云计算时代下开发者的左膀右臂。 Docker 作为一种开源的应用容器引擎,开发者可以打包他们的应用及依赖到一个可移植的容器中,发布到流行的 Linux 机器上,也可实现虚拟化。 Kubernetes,被称之为为 Docker 而生。同样作为开源容器集群管理系统,被用于管理云平台中多个主机上的容器化的应用。
不过一切都开始得如此悄无声息,Kubernetes 官方发布公告,宣布自 K8S v1.2 版本起放弃对 Docker 的支持,届时用户将收到 Docker 弃用警告,将在未来的版本中被移除,并需要改用其他容器运行时。但 Docker 作为容器镜像构建工具的作用将不受影响,用其构建的容器镜像将一如既往地在集群中与所有容器运行时正常运转。
官方解释称,Docker 作为一个完整的容器技术堆栈,在其创建之初就不是为了将其嵌入 Kubernetes 而设计的。除了其作为容器运行时本身的作用以外,Docker 还包含了一系列方便用户交互的 UX 更改,而这些额外的功能对于 K8S 来说过于臃肿。
简而言之,Docker 并不支持 CRI(容器运行时接口)这一 Kubernetes 运行时 API,而 Kubernetes 用户一直以来所使用的其实是名为“dockershim”的桥接服务。Dockershim 能够转换 Docker API 与 CRI,但在后续版本当中,Kubernetes 将不再提供这项桥接服务。当然,Docker 本身也是一款非常强大的工具,可用于创建开发环境。但为了了解造成当前状况的原因,我们需要全面分析 Docker 在现有 Kubernetes 架构中的作用。
对于很多业内人士来说,容器编排引擎之争中自Docker败给了K8S 后,这样的结局或许早已注定。
如果哪天相互不兼容了你会选择 K8S 还是选择 docker ?
Linux学习