在 GCP 上的某些 CPU 利用率上自动创建更多 VM

Automatically create more VM's on certain CPU utilization on GCP

我目前在 GCP 上有一个设置,其中有一个 VM(主)接收客户端请求,然后根据这些请求将一些数据存储在其中的数据库中。

然后,在旁边,我有另一个 VM(工作者),它只是“侦听”(或检查)主 VM 的数据库中是否有条目。如果有条目,它会获取该条目并对其进行处理。

主虚拟机基本上只是接收请求的“看门人”,而工作虚拟机是完成大部分工作的虚拟机。

我想在工作虚拟机达到特定 CPU 利用率时创建更多工作虚拟机。我已经研究过 GCP 的负载均衡器,但我不知道这是否正确,因为工作虚拟机并没有真正接受任何请求;它只是独立工作。

你知道我如何实现我想要的吗?

您可以使用托管实例组。

This page 介绍了如何创建托管实例组 (MIG)。 MIG 支持自动修复、负载平衡、自动缩放、auto-updating 和有状态工作负载等功能。

MIG 支持自动缩放,可动态添加或从 MIG 中删除实例以响应负载的增加或减少。

使用 set-autoscaling sub-command 为托管实例组启用自动缩放。

例如,以下命令创建一个目标 CPU 利用率为 60% 的自动缩放器。除了 --target-cpu-utilization 参数,创建自动缩放器时还需要​​ --max-num-replicas 参数:

gcloud compute instance-groups managed set-autoscaling example-managed-instance-group \
    --max-num-replicas 5 \
    --target-cpu-utilization 0.60 \
    --cool-down-period 90

您可以在此 documentation 中详细了解如何创建托管实例组。

或者您可以按照以下步骤操作:

  1. 在 Cloud Console 中,转到 Instance groups page

  2. 单击创建实例组

  3. 输入 MIG 的名称,以及 select 您要在其中定位组的区域。

  4. 组类型下,select 托管实例组。

  5. 实例模板下,select一个instance template. If no templates are available, create an instance template.

  6. 指定要在组中创建的实例数。 (可选)启用 Autoscaling,以便组 automatically adds or removes instances based on its utilization, or enable autohealing 对组内的 VM 执行 application-based 健康检查。

  7. 单击创建创建新组。

如您所见,您可以在创建 MIG 时设置自动缩放器。

请检查以下 documentation 以了解有关基于 CPU 利用率缩放的更多信息。