@Rays
2017-09-30T08:54:46.000000Z
字数 1201
阅读 1464
架构&设计
容器
摘要: 作为Apache Mesos的商业实现,Mesosphere宣布在其集群管理平台上提供对Kubernetes的Beta支持。
作者: Hrishikesh Barua
正文:
作为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)部署的能力。