更新实例组时 Google Cloud 停机

更新实例组时 Google Cloud 停机

我们在自动管理实例组中有多个实例。执行以下代码会导致:

  1. 正在创建新实例并通过健康检查进行验证(尚未移除旧实例)。目前一切运行正常。
  2. 新实例变为绿色。现阶段一切仍正常运行。
  3. 正在删除旧实例。目前,网站已关闭,并显示“连接错误”。网站关闭 10-20 秒后恢复,并显示更新版本。

我尝试添加 min-ready,但我认为它不会产生任何影响。我认为负载均衡器没有及时接收新实例?

我们使用 TCP 负载均衡器。如何避免停机?

gcloud beta --project "PROJECT_ID" compute instance-groups managed rolling-action replace "INSTANCE_GROUP --region=europe-west2 --max-unavailable=0 --max-surge=3 --min-ready=75s

答案1

文档,该--max-unavailable值将等于区域管理组的最小区域数。

此外,似乎--min-ready 在 GA 中不再可用,但是没有相关信息!

就目前而言,为了确保有足够的运行实例,您应该尝试编写一个脚本,该脚本将在滚动更新之前启动管理组中的几个虚拟机,然后在滚动更新完成后停止它们。

答案2

我想在用户顶部添加莫雷特的回答,并说你可以使用标志“--最小就绪“,但是,此标志仅在“测试版“ gcloud 命令的版本”云测试版计算实例组管理滚动操作替换

但总体而言,莫雷特的解决方案/答案是编写一个脚本,该脚本将在滚动更新之前启动管理组中的虚拟机,然后在滚动更新完成后停止它们,这是一个好主意,使用标志“--min-ready”将帮助您提供一个最短时间,使新创建的实例准备好被视为可用。

相关内容