【发布时间】:2016-04-12 23:46:21
【问题描述】:
我们在 Google Compute Engine 上托管我们的基础架构,并正在研究针对实例组进行自动缩放。我们对队列中的二进制数据进行了大量批处理。在我们的例子中,这意味着:
- 当工作人员处理数据时,CPU 始终为 100%
- 当队列为空时,我们希望终止所有工作人员
- 根据队列的长度,我们需要一定数量的工人
但是,我发现很难找到一种在 Google Compute Engine 上自动扩展此功能的方法,因为它们似乎可以根据 CPU 等仅实例指标进行扩展。来自documentation:
并非所有自定义指标都可以由自动缩放器使用。选择一个 有效的自定义指标,该指标必须具有以下所有内容 属性:
- 指标必须是每个实例的指标。
- 该指标必须是有效的利用率指标,这意味着来自该指标的数据可用于按比例放大或缩小 虚拟机的数量。
如果我正确阅读了文档,这是否会导致难以在全局队列长度上使用自动缩放?
备份解决方案
- 使用 Google Cloud API 编写一个简单的自动缩放处理程序,以使用 Instances API 创建或销毁新工作线程
- 使用实例组编写一个简单的自动缩放处理程序,然后使用 InstanceGroups: insert 手动插入/删除实例
- 使用InstangeGroupManagers: resize 编写一个简单的自动缩放处理程序
- 创建一个自定义的每实例指标,用于衡量所有工作人员的
len(queue)/len(workers)
【问题讨论】:
-
正如 grzenio 在他的回答中提到的那样,此功能尚不可用于自动缩放。话虽如此,您可以通过 GCE 问题跟踪器 (code.google.com/p/google-compute-engine/issues) 提交功能请求。
-
听从 Faizan 的建议,我在 code.google.com/p/google-compute-engine/issues/detail?id=291 上创建了一个功能请求
标签: google-compute-engine google-cloud-platform