博客

开源焦点: 自动扩展 Mesos

Lori MacVittie 缩略图
洛里·麦克维蒂
2017 年 9 月 25 日发布

由于云的存在,自动扩展applications几乎成为了可扩展性的代名词。 如果您不能支持自动缩放,那么按照大多数人的估计,您就不具备可扩展性。

任何环境中的自动扩展应用程序(云、容器或传统环境)在很大程度上依赖于协调多个系统之间的特定操作。 这种协调是通过 API 实现的。 它们是云和容器环境的基石。

直到最近,使用 Mesos 自动扩展应用程序主要是手动操作。 对于超过一半(51%)的 Mesos 用户(根据他们的调查)来说,这可能很有效,他们希望使用容器来部署单体和遗留applications。 但是对于那些采用 Mesos 来通过可扩展性提高资源效率和灵活性的人来说,这是不可持续的。 任何时候您必须回退到手动方法扩展应用程序时,都会面临人为错误的风险,并且会产生增加每笔交易成本的运营成本。 毕竟,人们不会免费工作,如果他们花时间来扩大或缩小应用程序的规模,他们就无法从事对组织的发展和成功至关重要的其他项目。 同样,每笔交易的成本是云和容器环境的一个重要指标,因为它们的功效在一定程度上可以降低这些成本。 每笔交易的成本越高,实现的利润或生产力就越少。 如今,这两者都是衡量企业健康状况的重要指标。

Gaurav Kumar是 Mesos 的早期企业采用者的工程师,他以符合开源态度的方式应对了这一挑战:他构建了一个 Mesos。 因为 API 和开源使社区和客户能够做这样的事情。

自动缩放 mesos f5

要使用F5 BIG-IP实现 Mesos 中应用程序的自动扩展,需要两个现有的开源解决方案:

  1. F5 Container Connector for Marathon ,负责监听 Marathon 事件然后适当地配置 BIG-IP。 
  2. 从现有开源项目 BIG-IP Exporter 分叉的 BIG-IP指标的 Prometheus 导出器,它从 BIG-IP 收集相关遥测数据(TCP 连接数、HTTP 请求数等)。

随后,Kumar 开发了该解决方案的第三部分,即“基于 F5 的 DCOS/Marathon 服务自动扩展组件”(称为“F5 Autoscaler”)。  

F5 Autoscaler 组件从 F5 Exporter 获取统计数据并将其与定义的阈值进行比较。 当达到其中一个阈值时,F5 自动缩放器会向 DCOS 主机发出缩放请求以添加池成员。 Marathon 按照通常的方式满足该请求,即部署一个新的容器/应用程序实例,然后通过 Marathon 的 F5 容器连接器通知 BIG-IP,后者使用新的池成员配置 BIG-IP。

瞧! 自动缩放应用程序。

这个解决方案是一个很好的例子,说明开源如何帮助组织做更多的事情而不仅仅是降低成本和缩短产品上市时间。 它为解决实际的商业挑战提供了一个框架。  

本期焦点中重点介绍的开源软件: