云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

CDN_中兴云存储_排行榜

小七 141 0

HashiCorp Nomad自动缩放技术预览

nomad0.11发布了HashiCorp Nomad Autoscaler的技术预览。这是一个新的开源项目,它提供了自动扩展Nomad集群上运行的工作负载的能力。它能够很容易地部署在Nomad上,并且它使用了一个插件系统,允许操作员以适合其工作负载的任何方式执行自动缩放。Nomad Autoscaler作为技术预览版发布,以便从社区获得早期反馈。因此,有些内容可能会发生变化。然而,我们对这种功能感到兴奋,而且我们知道一流的自动缩放支持也是社区所期待的。这个博客包含了Nomad Autoscaler体系结构的概述,以及nomad0.11中为支持这种和其他Autoscaler工作所做的更改。你也可以从Nomad虚拟日查看autoscaler预览视频,或者在这里注册观看实时技术演示。»自动缩放概述自动缩放是指计算资源的自动缩放。对于我们的许多用户来说,自动缩放是一个重要的工具。应用程序和集群必须有足够的资源来满足业务sla。然而,超过该需求的资源利用率会导致不必要的成本和/或调度争用。使这种平衡更加复杂的是,随着时间的推移,应用程序和集群负载可能会发生巨大变化,因此需要能够响应实时需求的自动调整。Nomad操作员感兴趣的自动缩放有多种类型。特别是,横向应用程序扩展涉及到更改Nomad任务组的期望计数,从而增加/减少应用程序实例的数量。Nomad Autoscaler的这项技术预览仅涉及水平应用程序的自动缩放。但是,我们计划在未来的版本中支持其他自动调整范例,例如水平集群自动调整和垂直应用程序自动调整。»Nomad Autoscaler体系结构Nomad Autoscaler已经实现为一个外部进程,它与Nomad中新的扩展策略API交互。我们决定采用这种方法有许多原因。一个单独的二进制文件将我们的发布生命周期解耦,这在我们最终确定autoscaler的体系结构时特别有用。此外,这意味着Nomad0.11中引入的缩放策略API也可供第三方自动缩放器使用。Nomad Autoscaler的操作如下:Nomad Autoscaler从Nomad获取缩放策略,然后实现一个通用控制循环,将应用程序度量输入到自动缩放策略中,以确定特定目标的适当缩放操作。由于有效的缩放策略因应用程序而异,Nomad Autoscaler提供了多个插件系统,用户可以自定义Autoscaler的操作:APM插件允许与不同的应用程序性能度量系统进行接口,以便获取做出扩展决策所需的度量。Nomethed和Prometheus的原生插件预告。目标插件提供了执行缩放操作的接口。技术预览版附带了一个针对Nomad任务组的目标插件。随着我们开发其他的自动调整范例(例如集群自动调整),这个接口在将来会变得更加重要。策略插件基于当前的扩展级别、提供的扩展策略和观察到的度量,实现了指示何时以及如何缩放特定目标的逻辑。缩放策略的输出是一组传递给相关目标插件的缩放操作。这种相互作用如下图所示。Nomad Autoscaler、它的插件和Nomad的api之间的交互说明。»操作员用户体验Nomad Autoscaler的架构旨在简化已经熟悉Nomad的操作员的用户体验:作业规范中提供了针对任务组的缩放策略,作为新缩放块的一部分。autoscaler本身可以作为Nomad集群上的作业运行。缩放事件的可观察性通过nomadapi实现。下面的步骤说明了运行和使用autoscaler的工作流。»第1步。部署Nomad Autoscaler在Nomad上部署autoscaler。HashiCorp将通过官方的原始二进制文件和Docker映像发布Nomad Autoscaler,使Autoscaler能够使用exec或Docker任务驱动程序运行。下面是一个使用docker任务驱动程序部署autoscaler的示例。工作"nomad autoscaler"{任务"自动缩放池"{driver="docker"配置{image="hashicorp/nomad-a"自动缩放器:技术预览"参数=["-配置=配置hcl"]}模板{目的地="配置hcl"数据=