Google Cloud Compute Engine 虚拟机实例组始终自动修复到最大实例数

Posted

技术标签:

【中文标题】Google Cloud Compute Engine 虚拟机实例组始终自动修复到最大实例数【英文标题】:Google Cloud Compute Engine VM Instance group always autoheals to max number of instances 【发布时间】:2020-12-27 09:22:27 【问题描述】:

我已经设置了一个 Google Cloud Compute Engine 虚拟机实例组(实例数量在 2 到 5 个之间),并已将自动修复配置为在 3 次运行状况检查失败后启动。这些实例是使用实例模板和部署我的应用程序的启动脚本创建的。但是,当我尝试通过在一个 vm 上停止我的应用程序进程来测试自动修复时,失败的实例最终会在自动修复期间被删除和替换,但在此过程中还会创建 3 个新实例。我还将实例组的自动修复初始延迟也配置为 600 秒,所以我认为这不是问题。

我在启用日志记录后检查了实例组的日志中的健康检查语句,这就是我发现的:

    在首次记录运行状况检查状态的更改后,将执行删除实例操作,然后执行添加实例操作。 添加实例操作后,会记录另一个健康检查探测结果,健康状态从“UNKNOWN”/“UNHEALTHY”变为“TIMEOUT”/“UNHEALTHY”。 大约 2 分钟后会记录另外三个添加实例操作,这些操作会在缩减后不久被删除。

有谁知道为什么会发生 3 个额外的添加实例操作,是否可以避免这种情况?

【问题讨论】:

【参考方案1】:

正如 OP 所说,该问题已通过调整 cool down period 得到解决。

【讨论】:

【参考方案2】:

更新:该问题已通过增加自动扩缩配置的冷却时间得到解决。

【讨论】:

以上是关于Google Cloud Compute Engine 虚拟机实例组始终自动修复到最大实例数的主要内容,如果未能解决你的问题,请参考以下文章

ruby Google Cloud Compute使用Rotate创建快照

Google Cloud、Kubernetes 和 Cloud SQL 代理:默认 Compute Engine 服务帐户问题

使用 Go 在 Google Container/Compute Engine 中登录到 Google Cloud

Google Cloud 中的 Google Compute Engine、App Engine 和 Container Engine 有啥区别?

无法在 Google Cloud Compute Engine 上使用 GPU

使用 Packer Google Compute Builder 创建映像,但没有嵌入项目用户(cloud-init)