如何利用编排框架支持多地域异构部署.docxVIP

如何利用编排框架支持多地域异构部署.docx

  1. 1、本文档共11页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
如何利用编排框架支持多地域异构部署.docx

如何利用编排框架支持多地域异构部署 摘 要为了满足渲染、基因测序等计算密集型服务的需求,UCloud 已推出了“计算工厂”产品,让用户可以快速创建大量的计算资源(虚拟机)。该产品的背后,是一套基于 Mesos 的计算资源管理系统。本文主要介绍该系统的结构、Mesos 在 UCloud 的使用、我们的解决方案以及遇到的问题。?业 务 需 求我们的需求主要是两个方面:1.同时支持虚拟机和容器。在“容器化”的浪潮下,为什么我们还需要支持虚拟机呢?首先,一些业务有严格的安全隔离要求,容器虽好,但还做不到和虚拟机同等级的隔离性。其次,一些业务程序不能运行在 Linux 上,比如图片、动画的渲染软件大都是 Windows 程序。2.?整合多地域多数据中心。我们的资源来源于一些拥有闲置资源的合作伙伴,这些资源散布于多个地域的多个数据中心中。我们的平台需要能够支持全局的调度,同时尽可能减少运营、运维的成本。简单地说,我们需要有一个平台,统一封装多个数据中心的计算资源,并且同时支持虚拟机、容器等多种形式的资源使用方式。说到虚拟机,首先想到的就是 UCloud 自己的 UHost 和开源的 OpenStack。然而,这两套系统都是针对大型公有云的场景,而且主要只针对于虚拟机这一种业务。它们功能丰富、模块众多,运维运营上都需要很大的成本。然而我们的业务并不需要这么多功能。?所以,我们选择了基于 Mesos 来实现这套平台。?为 什 么 选 择 Mesos?Mesos 是 Apache 下的开源分布式资源管理框架,它是一个分布式系统的内核。?通过 Mesos,一个数据中心所提供的不再是一台台服务器,而是一份份的资源。资源可以是 CPU 核数、内存、存储、GPU 等等。如果把一个数据中心当做一个操作系统的话,Mesos 就是这个操作系统的内核。?我们选择 Mesos 的原因在于它拥有高度可扩展性,同时又足够简单。?作为内核,Mesos 只提供基础的功能:资源管理、任务管理、调度等。并且每一种功能都以模块的方式实现,方便进行定制。架构上,Master 和 Agent 两个模块就实现了资源相关的所有工作,用户只需根据自己的业务逻辑实现 Framework 和 Executor 即可。这样就能够支持我们把计算资源封装成虚拟机、容器等各种形式。?采用 Mesos 来进行容器编排的方案已经被很多厂商使用,相关的资料文档也比较丰富。然而用 Mesos 来管理虚拟机,业内并没有应用于生产环境的实践。本文的余下内容,主要向读者分享一下 UCloud 用 Mesos 管理虚拟机的思路和实践经验。?Mesos 简 介Mesos 采用 Master-Agent 架构。Master 负责整体资源的调度并对外提供 API。Agent 部署在所有机器上,负责调用 Executor 执行任务、向 Master 汇报状态等。?Mesos 提供了一个双层调度模型:1. Master 在 Framework 之间进行资源调度;2.?每个 Framework 内部实现各自业务的资源调度。整体架构如下图:架 构 设 计01整体架构在 Mesos 的双层调度模型上,平台的整体架构如下图:结构如下:1.每个 IDC 一套或多套 Mesos 集群;2.?每个 Mesos 集群一个 Cluster Server,与 Mesos Master 以及 Framework 交互,负责集群内部的调度、状态收集和任务下发;3.?一个Mesos集群上有多个Framework,一个 Framework 负责一种业务,比如 VM Scheduler 管理虚拟机,Marathon Framework 管理Docker任务;4.?VM Framework框架实现管理的 Excutor 是基于Libvirt,实现虚拟机的创建、重启、删除等操作;5.?所有 Cluster Server 统一向 API Server 汇报,上报状态、获取任务;6.?API Server 负责主要业务逻辑,以及集群间的调度、资源和任务的管理等等;7.?API Gateway 提供 API 给 UCloud 控制台(Console)。02基于 HTTP 的通信系统内的所有通信都基于 HTTP。?首先,Mesos 内部基于 libprocess 各组件之间的通信都依赖 libprocess 库,该库用 C++ 实现了 Actor 模式。每个 Actor 会监听 HTTP 请求,向 Actor 发消息的过程就是把消息体序列化后放在 HTTP 报文中,然后请求这个 Actor。?其次,业务相关的各个组件API Server、Cluster Server 等也都通过 Restful 的 API 提供服务。?HTTP 的优点在于简单可靠、易于开发调试和扩

文档评论(0)

zhoubingchina + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档