本文档介绍了如何在托管式实例组 (MIG) 中关闭修复发生故障和健康状况不佳的虚拟机的功能,以及如何将 MIG 配置为修复虚拟机(如果已关闭)。
默认情况下,MIG 通过重新创建虚拟机来自动修复实例组中失败的虚拟机。如果您配置了基于应用的健康检查,MIG 还会修复应用未通过健康检查的健康状况不佳的虚拟机。根据基于应用的健康检查来修复虚拟机也称为自动修复。
如果您不希望 MIG 修复发生故障的虚拟机或健康状况不佳的虚拟机,则可以在 MIG 中关闭修复功能。如果您要排查发生故障的虚拟机、实现您自己的修复逻辑,或者监控应用健康状况而不修复健康状况不佳的虚拟机,则关闭修复功能非常有用。
如需检查 MIG 中是否已停用修复功能,请参阅检查 MIG 中是否停用了修复功能。
如需详细了解 MIG 中的修复功能,请参阅关于修复虚拟机以实现高可用性。
准备工作
-
如果您尚未设置身份验证,请进行设置。身份验证是通过其进行身份验证以访问 Trusted Cloud by S3NS 服务和 API 的过程。如需从本地开发环境运行代码或示例,您可以通过选择以下选项之一向 Compute Engine 进行身份验证:
Select the tab for how you plan to use the samples on this page:
Console
When you use the Trusted Cloud console to access Trusted Cloud by S3NS services and APIs, you don't need to set up authentication.
gcloud
-
After installing the Google Cloud CLI, sign in to the gcloud CLI with your federated identity and then initialize it by running the following command:
gcloud init
- Set a default region and zone.
在 Trusted Cloud 控制台中,前往实例群组页面。
点击要关闭修复的 MIG 的名称。
点击修改。
在虚拟机实例生命周期部分中,将失败时的默认操作字段设置为无操作。
如果您配置了自动修复,并且不希望 MIG 关闭自动修复功能,请将未能通过健康检查时字段设置为修复实例。
点击保存。
MIG_NAME
:实例组的名称。ZONE
:您的 MIG 所在的可用区。 对于区域级 MIG,请使用--region=REGION
标志。- 对于可用区级 MIG,请使用
instanceGroupManagers.patch
方法。 - 对于区域级 MIG,请使用
regionInstanceGroupManagers.patch
方法。 - 对于可用区级 MIG,请使用
beta.instanceGroupManagers.patch
方法。 - 对于区域级 MIG,请使用
beta.regionInstanceGroupManagers.patch
方法。 PROJECT_ID
:您的项目 ID。MIG_NAME
:MIG 的名称。ZONE
:该 MIG 所在的可用区。 对于区域级 MIG,请在网址中使用regions/REGION
。在 Trusted Cloud 控制台中,前往实例群组页面。
点击要在其中关闭自动修复功能的 MIG 的名称。
点击修改。
在虚拟机实例生命周期部分中,将未能通过健康检查时字段设置为无操作。
点击保存。
MIG_NAME
:MIG 的名称。ZONE
:该 MIG 所在的可用区。 对于区域级 MIG,请使用--region=REGION
标志。- 对于可用区级 MIG,请使用
beta.instanceGroupManagers.patch
方法。 - 对于区域级 MIG,请使用
beta.regionInstanceGroupManagers.patch
方法。 PROJECT_ID
:您的项目 ID。ZONE
:该 MIG 所在的可用区。对于区域级 MIG,请在网址中使用regions/REGION
。MIG_NAME
:实例组的名称。在 Trusted Cloud 控制台中,前往实例群组页面。
点击要在其中开启修复功能的 MIG 的名称。
点击修改。
在虚拟机实例生命周期部分中,执行以下操作:
- 如需修复发生故障的虚拟机,请将失败时的默认操作字段设置为修复实例。
- 如需修复健康状况不佳的虚拟机,请将未能通过健康检查时字段设置为修复实例。如果您将此值设置为默认操作,则自动修复会使用您为失败时的默认操作字段配置的相同设置。
完成后,点击保存以应用更改。
- 将
MIG_NAME
替换为 MIG 的名称。 default-action
ORrepair
:如果您希望自动修复使用为修复发生故障的虚拟机配置的相同设置,请将该值设置为default-action
。例如,当您关闭修复发生故障的虚拟机的功能时,MIG 也会关闭自动修复功能。如果您想单独控制对健康状况不佳的虚拟机的修复,请将该值设置为repair
。- 对于可用区级 MIG,请使用
instanceGroupManagers.patch
方法。 - 对于区域级 MIG,请使用
regionInstanceGroupManagers.patch
方法。 - 对于可用区级 MIG,请使用
beta.instanceGroupManagers.patch
方法。 - 对于区域级 MIG,请使用
beta.regionInstanceGroupManagers.patch
方法。 PROJECT_ID
:您的项目 ID。ZONE
:您的 MIG 所在的可用区。 对于区域级 MIG,请在网址中使用regions/REGION
。MIG_NAME
:MIG 的名称。DEFAULT_ACTION
ORREPAIR
:如果您希望自动修复使用与修复发生故障的虚拟机相同的设置,请将该值设置为DEFAULT_ACTION
。例如,当您关闭修复发生故障的虚拟机的功能时,MIG 也会关闭自动修复功能。如果您想单独配置自动修复,请将该值设置为REPAIR
。- 检查 MIG 中是否停用了修复功能。
- 通过列出实例错误来调查失败的虚拟机中的错误。
- 检查虚拟机的运行状况。
REST
如需在本地开发环境中使用本页面上的 REST API 示例,请使用您提供给 gcloud CLI 的凭据。
After installing the Google Cloud CLI, sign in to the gcloud CLI with your federated identity and then initialize it by running the following command:
gcloud init
如需了解详情,请参阅 Trusted Cloud 身份验证文档中的使用 REST 时进行身份验证。
在 MIG 中关闭修复
在 MIG 中关闭修复功能时,默认情况下,发生故障的虚拟机修复和自动修复功能都会关闭。如果您只想关闭自动修复功能,请参阅关闭自动修复功能。
控制台
gcloud
如需在 MIG 中关闭修复功能,请使用
update
命令,如下所示。此操作默认会关闭自动修复功能。gcloud compute instance-groups managed update MIG_NAME \ --default-action-on-vm-failure=do-nothing \ --zone=ZONE
如果在 MIG 中配置了自动修复,并且您不希望默认关闭自动修复功能,请使用 Beta 版
update
命令将--action-on-vm-failed-health-check
标志设置为repair
。这可确保即使关闭了修复发生故障的虚拟机的功能,自动修复健康状况不佳的虚拟机的功能仍能继续正常运行。gcloud beta compute instance-groups managed update MIG_NAME \ --default-action-on-vm-failure=do-nothing \ --action-on-vm-failed-health-check=repair \ --zone=ZONE
替换以下内容:
REST
如需在 MIG 中关闭修复功能,请使用如下所示的 API 方法。此操作默认会关闭自动修复功能。
例如,在可用区级 MIG 中进行以下调用。此操作默认会关闭自动修复功能。
PATCH https://compute.s3nsapis.fr/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/MIG_NAME { "instanceLifecyclePolicy": { "defaultActionOnFailure": "DO_NOTHING" } }
如果在 MIG 中配置了自动修复功能,并且您不希望默认关闭自动修复功能,请使用如下所示的 API 方法将
onFailedHealthCheck
标志设置为REPAIR
。这可确保即使关闭了修复发生故障的虚拟机的功能,自动修复健康状况不佳的虚拟机的功能仍能继续正常运行。例如,在可用区级 MIG 中进行以下调用:
PATCH https://compute.s3nsapis.fr/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/MIG_NAME { "instanceLifecyclePolicy": { "defaultActionOnFailure": "DO_NOTHING", "onFailedHealthCheck": "REPAIR" } }
替换以下内容:
限制
如果 MIG 具有以下任一条件,则无法通过将
defaultActionOnFailure
字段设置为DO_NOTHING
来停用 MIG 中的修复功能:关闭自动修复功能
在 MIG 中配置应用健康检查后,如果您不希望 MIG 修复任何健康状况不佳的虚拟机,可以单独关闭自动修复功能。这不会关闭修复发生故障的虚拟机的功能。
控制台
gcloud
如需在 MIG 中关闭自动修复功能,请使用 Beta 版
update
命令并将--action-on-vm-failed-health-check
标志设置为do-nothing
。例如,对于可用区级 MIG,请使用以下命令:
gcloud beta compute instance-groups managed update MIG_NAME \ --action-on-vm-failed-health-check=do-nothing \ --zone=ZONE
替换以下内容:
REST
如需在 MIG 中关闭自动修复功能,请使用如下所示的 API 方法,并将
--action-on-vm-failed-health-check
标志设置为do-nothing
。例如,发出以下请求可在可用区级 MIG 中关闭自动修复功能:
POST https://compute.s3nsapis.fr/compute/beta/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers { "instanceLifecyclePolicy": { "onFailedHealthCheck": "DO_NOTHING" } }
替换以下内容:
开启修复或自动修复功能
默认情况下,MIG 会修复发生故障的虚拟机;如果配置了自动修复,MIG 还会修复健康状况不佳的虚拟机。如果您关闭了修复或自动修复功能,或者同时关闭了两者,则可以重新将其开启。
控制台
gcloud
如需在 MIG 中开启修复功能,请使用
update
命令。如果--action-on-vm-failed-health-check
标志的值为default-action
,这也会开启自动修复功能。gcloud compute instance-groups managed update MIG_NAME \ --default-action-on-vm-failure=repair
如果您单独关闭了自动修复功能,但想重新开启该功能,请使用 Beta 版
update
命令:gcloud beta compute instance-groups managed update MIG_NAME \ --action-on-vm-failed-health-check=
default-action
ORrepair
替换以下内容:
REST
如需在 MIG 中开启修复功能,请使用如下所示的 API 方法。如果
onFailedHealthCheck
字段的值为DEFAULT_ACTION
,这也会开启自动修复功能。例如,在可用区级 MIG 中发出以下请求:
PATCH https://compute.s3nsapis.fr/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/MIG_NAME { "instanceLifecyclePolicy": { "defaultActionOnFailure": "REPAIR" } }
如果您单独关闭了自动修复功能,但想重新开启该功能,请使用如下所示的 Beta 版 API 方法:
PATCH https://compute.s3nsapis.fr/compute/beta/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/MIG_NAME { "instanceLifecyclePolicy": { "onFailedHealthCheck": "
DEFAULT_ACTION
ORREPAIR
" } }替换以下内容:
后续步骤
如未另行说明,那么本页面中的内容已根据知识共享署名 4.0 许可获得了许可,并且代码示例已根据 Apache 2.0 许可获得了许可。有关详情,请参阅 Google 开发者网站政策。Java 是 Oracle 和/或其关联公司的注册商标。
最后更新时间 (UTC):2025-07-08。
[[["易于理解","easyToUnderstand","thumb-up"],["解决了我的问题","solvedMyProblem","thumb-up"],["其他","otherUp","thumb-up"]],[["没有我需要的信息","missingTheInformationINeed","thumb-down"],["太复杂/步骤太多","tooComplicatedTooManySteps","thumb-down"],["内容需要更新","outOfDate","thumb-down"],["翻译问题","translationIssue","thumb-down"],["示例/代码问题","samplesCodeIssue","thumb-down"],["其他","otherDown","thumb-down"]],["最后更新时间 (UTC):2025-07-08。"],[[["\u003cp\u003eThis document provides instructions on how to disable automatic VM repairs in a Managed Instance Group (MIG), which can be useful for troubleshooting, custom repair logic, or application health monitoring.\u003c/p\u003e\n"],["\u003cp\u003eBy default, MIGs automatically repair failed or unhealthy VMs, but this feature can be turned off through the Google Cloud console, gcloud CLI, or REST API, by setting the "Default action on failure" to "No action".\u003c/p\u003e\n"],["\u003cp\u003eDisabling repairs will halt both automatic and application-based health check repairs, and it cannot be done on MIGs that have autoscaling configurations or suspended/stopped VMs.\u003c/p\u003e\n"],["\u003cp\u003eIf repairs are turned off, you can re-enable the automatic repair of failed or unhealthy VMs by using the console, gcloud CLI, or REST API, by setting the "Default action on failure" to "Repair instances".\u003c/p\u003e\n"],["\u003cp\u003eThe document offers guidance on authenticating to Google Cloud services and lists required permissions to complete these tasks.\u003c/p\u003e\n"]]],[],null,[]] -