我在 GCP 中有一个实例组,我正在致力于自动化部署过程。该组中的实例基于标记的 GCR 映像。当新映像推送到容器注册表时,我们通过从 console.cloud.google.com 导航到实例组,单击“重新启动/替换虚拟机”并设置以下选项来手动触发升级:
这是我的
gcloud
命令,用于执行相同的操作(链接到有关此命令的 Google 文档):
gcloud beta compute instance-groups managed rolling-action start-update my-instance-group \
--version=template=my-template-with-image \
--replacement-method=substitute \
--max-surge=3 \
--max-unavailable=0 \
--region=us-central1
手动操作,该过程始终有效。但
gcloud
命令很不稳定。从命令行看来它总是成功,但实例组并不总是重新启动。我什至尝试添加这两个标志,并且重新启动尝试仍然不可靠:
--minimal-action=replace \
--most-disruptive-allowed-action=replace \
gcloud
命令有相当多的输出(如果需要,我可以提供),但以下是成功和不成功尝试之间唯一不同的输出部分:
好:
currentActions:
creating: 1
status:
isStable: false
versionTarget:
isReached: false
坏:
currentActions:
creating: 0
status:
isStable: true
versionTarget:
isReached: true
这几乎是我目前所知的范围。我不确定如何继续自动化构建过程,并且到目前为止我无法从文档中找到答案。
我希望我没有太冗长,提前感谢所有花时间在这上面的人:)
用户界面中存在一个错误,如果您单击“替换”,然后单击“获取等效命令”,它不会为您提供正确的命令。
尝试使用重新启动或替换而不是开始更新