前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >你可能搞错了,Kubernetes和Docker并不是直接竞争对手

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

原创
作者头像
了不起的云计算
修改2021-01-26 18:09:42
6530
修改2021-01-26 18:09:42
举报

几年前,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——

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

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

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档