【发布时间】:2020-12-27 09:22:27
【问题描述】:
我已经设置了一个 Google Cloud Compute Engine 虚拟机实例组(实例数量在 2 到 5 个之间),并已将自动修复配置为在 3 次运行状况检查失败后启动。这些实例是使用实例模板和部署我的应用程序的启动脚本创建的。但是,当我尝试通过在一个 vm 上停止我的应用程序进程来测试自动修复时,失败的实例最终会在自动修复期间被删除和替换,但在此过程中还会创建 3 个新实例。我还将实例组的自动修复初始延迟也配置为 600 秒,所以我认为这不是问题。
我在启用日志记录后检查了实例组的日志中的健康检查语句,这就是我发现的:
- 在首次记录运行状况检查状态的更改后,将执行删除实例操作,然后执行添加实例操作。
- 添加实例操作后,会记录另一个健康检查探测结果,健康状态从“UNKNOWN”/“UNHEALTHY”变为“TIMEOUT”/“UNHEALTHY”。
- 大约 2 分钟后会记录另外三个添加实例操作,这些操作会在缩减后不久被删除。
有谁知道为什么会发生 3 个额外的添加实例操作,是否可以避免这种情况?
【问题讨论】:
标签: google-compute-engine autoscaling google-cloud-stackdriver google-cloud-logging google-cloud-monitoring