作为 Apache Mesos 的商业实现,Mesosphere宣布在其集群管理平台上提供对 Kubernetes 的 Beta 支持。
Mesosphere 提供了一套工具,用于操作数据密集型应用,例如容器编排、分布式数据库、消息队列、数据流处理、机器学习、监控和管理能力、安全工具和部署自动化等。Mesosphere 具有自己的容器编排器,其分布式操作系统内核称为DC/OS(Datacenter Operating System,数据中心操作系统)。DC/OS 支持常见的软件栈,并支持有状态和无状态应用。Mesos 运行在编排层之下。
近期,对Kubernetes的采用在日益增加。根据此次声明,Kubernetes 将运行在DC/OS 上。可部署在DC/OS 之上的Kubernetes 版本并不会做任何更改,因此可以无缝地升级到更新的版本,并且滚动式的非破坏性升级(NDU,Non-Disruptive Upgrade)使多个版本可以运行在同一系统中。由于Mesosphere 可以运行在公开云中,也可以在客户的数据中心中运行,因此Kubernetes 将能在架构上发挥容器引擎的功能。
Google 早在 2014 年就宣布了与Mesosphere 的类似合作。当时的合作具有两个方面,一个方面是在部署Web 应用的Google Cloud 上运行Mesosphere ,另一方面是集成 Kubernetes 到 Mesos 中去管理 Docker 容器负载。看上去本次宣布已经取代了后者。而在随后的一次宣布中提及,将为Kubernetes on DC/OS 提供更多支持。
管理有状态应用是容器编排工具所面对的挑战之一。有状态应用包括了数据存储(例如Cassandra、Redis)以及数据库(例如MySQL 和PostgreSQL)等应用。一直以来,在容器上运行有状态应用并非易事,问题涉及资源隔离、共享后台存储以及不能像无状态应用那样轻易地在环境中自动上下扩展。Kubernetes提供了一些使用 StatefulSet 特性的解决方案,但是相比于无状态应用,这些解决方案需要做更多的设置。对于这些一直存在的挑战,Mesosphere 也给出了一些解决方案。虽然目前尚不清楚是否在DC/OS 上运行Kubernetes 就能以更好的方式解决所有这些挑战。但是看上去工具间的责任分割无疑是一种好方式。
此次宣布还提出,Kubernetes on DC/OS 最终会支持将无状态工作负载扩展到云上,以添加本地(On-Premises)部署的能力。
评论