零停机 Google Compute Engine (GCE) 部署

Zero downtime Google Compute Engine (GCE) deployment

我正在尝试在 deploy.yaml 中部署此 docker GCE 项目,但每次我更新 git 存储库时,服务器都会因 1 而停机。 正在删除原始实例和 2. 新实例尚未完成启动(或者至少 Web 应用程序尚未完成启动)。

我应该使用什么命令或者我应该如何更改它,以便我有一个金丝雀部署,一旦新实例启动就会销毁旧实例(我一次只有一个实例 运行)?我没有对实例组进行健康检查,只有负载均衡器。

- name: 'gcr.io/cloud-builders/gcloud'
  args: ['compute', 'instance-groups', 'managed', 'rolling-action', 'replace', 'a-group', '--max-surge', '1']

感谢您的帮助!

正如 John 所说 - 您可以设置 max-unavailable and max-surge 变量来改变更新期间部署的行为。