如果你完全相信谷歌趋势(Google Trends)的结果,会认为 Kubernetes 轻松击败了 Docker Swarm。
但是,这是表明 Kubernetes 获胜的有效证据吗?并非如此。
事实上,Docker 的采用率仍在呈指数级增长。越来越多的公司也在生产环境中使用 Docker。毕竟,使用一种编排平台来扩展和管理容器很重要。
下面是眼下你对 Docker Swarm 与 Kubernetes 需要有所了解的方面。
扩大规模
设想一下你使用 Docker 已有一段时日,并部署在几台不同的服务器上。你的应用程序开始遇到庞大流量,你需要快速扩大规模,如何将规模从 3 台服务器扩大到将来需要的 40 台服务器?
你又将如何决定将哪个容器该用于何处?你将如何监控所有这些容器,并确保它们退出后重新启动?
这时候 Kubernetes 有了用武之地。
现在,你可能想知道你是否可以使用 Docker Swarm 轻松地获得同样的结果,而且复杂性低得多。
等一下,对 Kubernetes 和 Docker Swarm 进行一番比较并不是很容易。
毕竟,Docker Swarm 适用于简单和快速开发至关重要的环境,而 Kubernetes 适合大中型集群运行复杂应用程序的环境。
毫无疑问,Kubernetes 备受关注。GitHub 上的 Kubernetes 项目有 1500 多个贡献者,他们在不断发布大批工具和扩展件等。那是一个庞大的支持社区。
但它并非总是好的选择。到底选择 Docker Swarm 还是 Kubernetes,只能根据你在运行的应用程序的类型来回答。还要牢记其他考虑事项,比如安装和设置的简易性、日志和监管以及整体可扩展性。
比如说,说到安装和设置,Docker Swarm 胜出。它优雅简洁、易于安装,你可以快速设置。另一方面,Kubernetes 比较复杂。还面临陡峭的学习曲线。
当然,Docker 现在正式支持 Swarm 和 Kubernetes。这就是有人说 Kubernetes 已胜出的另一个原因。他们预计 Docker 会花较少的精力来推广 Swarm 或推广其作为首选解决方案,看到 Swarm 最终消失我们不必感到惊讶。
不过,我们仍应该对两者进行比较吗?不妨看看一些统计数据。
据 RightScale 的《2019 云行情报告》声称,Docker 和 Kubernetes 都是赢家:Kubernetes 的使用率从 27% 上升到了 48%。
说到容器编排平台的使用情况,Digital Ocean 的一份云端开发人员趋势季度报告在下面显示了这个趋势。虽然 Kubernetes 总体上极受欢迎,但规模最小的公司(1-5 名员工)更常 使用 Docker Swarm(41% 的公司使用 Swarm,31% 的公司使用 Kubernetes)。
一个观点
DockerCon 2018 EU 大会和 DockerCon 2019 大会上发布了新的 Swarm 功能,这些功能进一步验证了该平台。
数字看起来也不错。结果证明,Swarm 的启动使用率无疑在上升。而且,值得注意的是,Docker 的 700 多家客户中绝大多数使用 Swarm。
归根结蒂,眼下是 Kubernetes 当道时代。但是其他工具可以改善混搭效果,并以极其成熟先进的方式帮助你完成工作。
当然,重点不应放在花哨而流行的工具上。主要目标完全是构建稳定的系统——客户喜欢使用的系统。毕竟,每种工具都有其自身的优缺点。
关于 Swarm 已死的说法未免夸大其辞了。