你可能搞错了,Kubernetes和Docker并不是直接竞争对手

了不起的云计算 2021-01-26 17:19:04

几年前,Docker在IT行业可谓是家喻户晓,几乎每个公司都已经或是即将采用它。

然而,随着Kubernetes的出现,情况一下子改变了。

尤其是上个月当Kubernetes宣布,自Kubernetes v1.20之后将弃用Docker作为容器运行,关于Docker的与kubernetes的讨论再度热闹了起来。

有人以为Docker大势已去,无法和Kubernetes竞争,不能再用了。

其实,将Docker和Kubernetes直接做对比是不恰当的,虽然它们都受益于容器并大放异彩,但两者并不是直接竞争对手。

▉ "Kubernetes vs. Docker"?你恐怕搞错了对象

在探讨Docker和Kubernetes之前,我们有必要先了解容器。

过去,当开发人员编写代码时,他们是在自己的本地开发环境中工作。当他们准备将这些代码转移到生产环境中时,有时就会出现一些问题。

例如,在开发环境中完美运行的代码,在生产环境无法工作。而这里包含了各种原因,比如不同的操作系统、不同的依赖关系、不同的库等等。

容器的出现解决了关键的可移植性问题,它允许你将代码与运行在底层基础架构上的代码分开。开发人员可以将其应用程序(包括正确运行所需的所有bin和库)打包到一个小的容器镜像中。

在生产环境中,容器可以在任何有容器化平台的计算机上运行,由此大大提高了交付效率。

*我们看到容器的图片通常用“集装箱”来展示,这也是容器是集装箱思想的体现。现代化的起重机可以自动在卡车、轮船和火车之间高效地装卸、重叠和移动集装箱,而容器就是为代码提供了一个基于容器的标准化运输系统。

▉ 什么是Docker?

如同今天很多人把Kubernetes当成容器的代名词,在Docker火热的时候,很多人也以为Docker就是容器。其实,这也是错误的认识,除了Docker还有CoreOS等。

Docker是一个开源的应用容器引擎,开发者可以打包他们的应用及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化。

▉ 什么是Kubernetes?

Docker为封装和分发容器化应用提供了一个开放的标准,但也出现了一些新问题。

如何对所有这些容器进行协调和调度?如何在不中断服务的情况下无缝升级一个应用?如何监控应用程序的健康状况,知道什么时候出问题并无缝重启它?

事实是,在现实生产环境中,容器不易于批量管理,大量容器需要编排系统。于是编排容器的解决方案很快就出现了,Kubernetes就是其中一个。

Kubernetes是一个开源的容器集群管理系统,可以实现容器集群的自动化部署、自动扩缩容、维护等功能。它是一个全面的系统,用于自动化部署、调度和扩展容器化应用,并支持许多容器化工具,如Docker。

▉ Docker和Kubernetes的区别

Docker是用于构建,分发和运行Docker容器的平台和工具;而Kubernetes不包含用于创建或管理容器镜像的功能,并且它本身并不运行容器。

因此两者的主要区别在于Docker在单个节点上运行,而Kubernetes设计为在集群上运行。

另一个区别是Docker可以在没有Kubernetes的情况下使用,而Kubernetes需要容器运行时才能进行编排。

所以,Kubernetes和Docker没有直接的可比性,根基不同,解决的问题也不同。当大多数人谈论"Kubernetes vs. Docker "时,更确切的说法是"Kubernetes vs. Docker Swarm"。

后者才是Docker自己为Docker容器提供的原生集群解决方案。

▉ 有没有两全其美的服务?

自2015年首次发布以来,Kubernetes已被广泛采用,并成为容器管理和编排领域的事实标准。而作为全球数字化转型领先企业,戴尔科技也在“与时俱进”,帮助用户从“容”不迫的迈出云原生之旅。

当前,容器的流行给企业的数据中心基础设施带来了重大挑战,存储就首当其冲。

容器的最大特点是“召之即来,挥之即去”,但企业的数据却需要长久的存储和备份。基于此,容器持久化存储以及由此延伸出来的持久化数据保护管理,之于数据独立于容器应用生命周期的存在就显得至关重要。

为此,戴尔科技基于最新的CSI接口实现了存储插件的一系列功能,使得戴尔科技的企业级存储产品都能够轻松接入Kubernetes,真正为容器平台提供了高效、可靠、安全的持久化存储服务。

更关键的是,戴尔科技容器持久化存储还具备“软硬兼施”的能力。即VMware的vSphere也支持CSI,它与戴尔科技存储产品的CSI插件形成了“珠联璧合”的效果。

IT管理员可以在熟悉的vSphere客户端环境中使用Kubernetes,同时启动并运行所有的关键应用程序,以推动现代化应用程序的创新。

——END——

0 阅读:97

了不起的云计算

简介:致力于数字化转型问题的技术探讨和解决!