管理自动调节程序

使用本文提供的说明可对自动调节程序执行管理任务,例如创建、说明、更新、停止和删除自动调节程序。

准备工作

创建自动调节程序

创建自动调节程序的过程略有差别,具体视您要使用的自动扩缩政策而定。如需了解如何创建自动调节程序,请参阅:

获取自动调节程序相关信息

如需详细了解特定自动调节程序,或者确认自动调节程序已成功创建,请使用控制台、gcloud compute instance-groups managed describe 子命令或 API 中的 get 方法来获取地区区域自动调节程序资源。

控制台

  1. 在 Cloud Console 中,转到“实例组”页面。

    转到“实例组”页面

  2. 点击列表中实例组的名称,以打开“实例组详情”页面。
  3. 点击详细信息查看该组的详细信息,包括其自动扩缩设置。

gcloud

gcloud 命令行工具中,使用 describe 子命令:

gcloud compute instance-groups managed describe GROUP

API

如需检索地区托管实例组的某自动调节程序资源的详细信息,请使用该自动调节程序的 get 方法。对于区域托管实例组,请使用区域自动调节程序的 get 方法。

GET https://compute.googleapis.com/compute/v1/projects/myproject/zones/us-central1-f/autoscalers/example-autoscaler
200 OK

{

 "kind": "compute#autoscaler",
 "name": "",
 "target": "https://compute.googleapis.com/compute/v1/projects/myproject/zones/us-central1-f/instanceGroupManagers/test-managed-group",
 "autoscalingPolicy": {
  "minNumReplicas": 2,
  "maxNumReplicas": 10,
  "coolDownPeriodSec": 60,
  "cpuUtilization": {
   "utilizationTarget": 0.8
  }
 },
 "id": "14869149674555507326",
 "creationTimestamp": "2015-03-25T01:56:56.084711335+00:00",
 "selfLink": "https://compute.googleapis.com/compute/v1/projects/myproject/zones/us-central1-f/autoscalers/example-autoscaler"
}

更新自动调节程序

要更新自动调节程序,请使用控制台、gcloud 工具或 API。

更新自动调节程序时,更改可能需要一段时间才能传播,而且新的自动调节程序设置可能需要几分钟时间才会生效。

控制台

  1. 在 Cloud Console 中,转到“实例组”页面。

    转到“实例组”页面

  2. 点击列表中实例组的名称,以打开“实例组详情”页面。
  3. 点击修改群组查看和更新群组的当前配置,包括其自动扩缩设置。
  4. 完成后,请点击保存

gcloud

使用 set-autoscaling 子命令。

您需要像首次创建自动调节程序一样,在请求中设置自动调节程序的所有配置设置。否则,请求中未明确定义的任何设置都将重置为默认值。

gcloud compute instance-groups managed set-autoscaling GROUP \
    --max-num-replicas MAX_NUM ...

如需了解如何创建自动调节程序,请参阅基于 Stackdriver Monitoring 指标进行扩缩基于 CPU 或负载平衡服务容量进行扩缩

API

要为地区托管实例组更新自动调节程序资源,请使用地区自动调节程序的 patch 方法。对于区域托管实例组,请使用区域自动调节程序的 patch 方法。提供包含新配置的请求正文。

PATCH https://compute.googleapis.com/compute/v1/projects/myproject/zones/us-central1-f/autoscalers/example-autoscaler

{
 "autoscalingPolicy": {
  "maxNumReplicas": 20
 }
}
200 OK

{
 "kind": "compute#operation",
 "id": "4244494732310423322",
 "name": "operation-1556912627871-58800f8216ed7-74ab1720-7d360603",
 "zone": "https://www.googleapis.com/compute/v1/projects/myproject/zones/us-central1-f",
 "operationType": "compute.autoscalers.patch",
 "targetLink": "https://www.googleapis.com/compute/v1/projects/myproject/zones/us-central1-f/autoscalers/example-autoscaler",
 "targetId": "340775527929467142",
 "status": "RUNNING",
 ...
}

当您执行任何修改数据的请求时,系统将返回 zoneOperations 资源,并且您可以查询该操作以检查更改的状态。

关闭或限制自动调节程序(测试版)

关闭自动调节程序以暂时阻止其对实例组进行扩缩,或限制自动调节程序以便仅纵向扩容实例组。如果您想执行以下操作,则此功能非常有用:

  • 在不受缩减干扰的情况下调查实例。
  • 重新配置托管实例组的多个属性,而不会在仅部分重新配置组时触发扩缩操作。
  • 维护实例组容量,以便在将工作负载重定向到新实例组时实现快速回滚。

如果重新启用自动调节程序,自动调节程序会自动恢复正常运行。

在控制台、gcloud 工具或 API 中,将自动调节程序的 mode 设置为:

  • OFF:暂时停用自动扩缩。使用此模式可防止自动更改实例组的大小。自动扩缩配置保持不变,以便日后重新启用自动扩缩。
  • ONLY_UP:将自动扩缩限制为只添加新实例。使用此模式可防止群组缩减,并允许群组在负载增加时预配额外的虚拟机。
  • ON:根据政策启用所有自动扩缩操作

控制台

  1. 在 Cloud Console 中,转到“实例组”页面。

    转到“实例组”页面

  2. 点击列表中实例组的名称,以打开“实例组详情”页面。
  3. 点击修改群组查看群组的当前配置,包括其自动扩缩设置。
  4. 自动扩缩下,设置自动扩缩模式以停用或限制群组的自动扩缩功能,或重新启用自动调节程序。

gcloud

使用带有 --mode 标志的测试版 set-autoscaling 子命令来关闭、限制或启用自动调节程序。

您需要像首次创建自动调节程序一样,在请求中设置自动调节程序的所有配置设置。否则,请求中未明确定义的任何设置都将重置为默认值。

gcloud beta compute instance-groups managed set-autoscaling GROUP \
    --mode [MODE] ...

其中:

  • [MODE] 可以为以下值:
    • OFF 用于停用自动调节程序,但保持其配置。
    • ONLY_UP 用于将自动调节程序限制为只添加实例。
    • ON 用于根据自动调节程序的政策重新启用所有自动调节程序活动。

API

要为地区托管实例组更新自动调节程序资源的模式,请使用自动调节程序的 patch 方法。对于区域托管实例组,请使用区域自动调节程序的 patch 方法。提供包含 autoscalingPolicy.mode 属性的请求正文。

PATCH https://www.googleapis.com/compute/beta/projects/my-project/regions/us-central1-f/autoscalers?autoscaler=my-autoscaler

{
  "autoscalingPolicy": {
    "mode":"[MODE]"
  }
}

其中:

  • [MODE] 可以为以下值:
    • OFF 用于停用自动调节程序,但保持其配置。
    • ONLY_UP 用于将自动调节程序限制为只添加实例。
    • ON 用于根据自动调节程序的政策重新启用所有自动调节程序活动。

请通过 mig-discuss@google.com 与我们联系,以提供有关以下自动调节程序模式的反馈:OFFONONLY_UP

删除自动调节程序

您可以使用控制台、gcloud 工具或 API 永久删除自动调节程序资源。如果要暂时停止自动扩缩并保留自动调节程序资源及其配置,请改为关闭自动调节程序。

控制台

  1. 在 Cloud Console 中,转到“实例组”页面。

    转到“实例组”页面

  2. 点击列表中实例组的名称,以打开“实例组详情”页面。
  3. 点击修改群组查看群组的当前配置,包括其自动扩缩设置。
  4. 自动扩缩下,点击删除自动扩缩配置,以停止自动调节程序并删除其配置。

gcloud

使用 stop-autoscaling 子命令可停止自动调节程序并删除其配置。

gcloud compute instance-groups managed stop-autoscaling GROUP

停止自动调节程序会将它从托管实例组中删除。如果要重启自动调节程序,必须使用 set-autoscaling 命令重新创建它。

如果使用 gcloud 工具删除某托管实例组,则附加到该托管实例组的所有自动调节程序也将一并删除。

API

在 API 中,使用 DELETE 方法发出请求可停止自动调节程序并删除其配置:

 DELETE https://compute.googleapis.com/compute/v1/projects/myproject/zones/us-central1-f/autoscalers/example-autoscaler

此页内容是否有用?请给出您的反馈和评价:

发送以下问题的反馈:

此网页
Compute Engine 文档