跳转到: 导航, 搜索

CaaS

集群即服务:管理 OpenStack 云和其他多样化框架的多个集群

概述

集群计算在学术界和工业界都变得越来越流行。商品服务器的集群被用于各种分布式应用,例如模拟、数据分析、Web 服务等等。没有一个框架可以适用于所有分布式应用。即使是 OpenStack 云框架也不行,因为有些研究人员希望在裸机服务器上部署 Hadoop 集群,例如。解决此问题的一种方法是在 IaaS/PaaS 层下方分配一个层来处理集群部署。这个想法被称为集群即服务层,用于分配服务器。

用户故事

在学术机构中,研究人员一直使用他们自己的计算资源进行各自的研究项目。在电力短缺成为问题之前,这很好。该机构的负责人要求一个云研究小组开发一个研究云,所有研究人员都可以将其计算机集群迁移到该云上。一些研究小组使用 HPC 集群,而另一些小组使用 Hadoop 集群。相当多的组向公众提供 Web 服务。集群的使用模式彼此不同,并且根据一天中的时间、一周中的日期等而变化。因此,当电力消耗至关重要时,必须动态地将资源分配给每个集群。

设计

  • 需求
    • 每个集群的动态资源分配
    • 集群之间的安全隔离
    • 每个集群的充足性能和容量
  • 设计草图
    • IaaS/PaaS 层和 CaaS 层之间的分离
    • IaaS/PaaS 层可以随时扩展
    • CaaS 层可以使用容器高效地处理机器镜像
    • CaaS 层是一个 Web 服务
    • 使用标记的 VLAN 进行网络隔离
    • 自动软件包安装

实现

以下是一个实现示例

Implementation.gif

测试/演示计划

当前的演示视频可以在 https://wiki.openstack.org/CaaS_demo 处查看

讨论

http://etherpad.openstack.org/cluster-as-a-service-discussion

未解决的问题

该项目与 MultiClusterZones 项目相关,但我们尚未联系该项目的成员。

https://wiki.openstack.org/MultiClusterZones

相关项目

一个 OpenStack 项目 Senlin 已经启动,以支持集群即服务。它的使命是支持管理由其他 OpenStack 服务(如 Nova 服务器或 Heat 堆栈)暴露的同类对象的组。

https://wiki.openstack.org/wiki/Senlin

http://git.openstack.org/cgit/openstack/senlin