如何解决重新触发时,helm 回滚无法识别失败的部署
我有一个类似下面的场景, 有两个版本 - Release-A 和 Release-B。
目前,我在 Release-A 上,需要将所有微服务升级到 Release-B。 我尝试使用以下命令执行微服务的掌舵升级 - “mymicroservice”以交付 Release-B。
helm --kubeconfig /home/config upgrade --namespace testing --install --wait mymicroservice mymicroservice-release-b.tgz
由于某些问题,部署对象无法安装并进入错误状态。
观察到这一点,我执行以下回滚命令。
helm --kubeconfig /home/config --namespace testing rollback mymicroservice
由于某些问题(可能是间歇性系统故障或用户行为),Release-A 的部署对象也进入了 failed/Crashloopbackoff 状态。虽然这会导致 helm 回滚成功,但部署对象仍然没有进入运行状态。
在进行必要的更正后,我将重试回滚。由于部署规范已经使用 helm 进行了更新,因此即使处于失败状态,它也不会尝试重新安装部署对象。
Helm 是否有任何选项可以处理上述情况?.
尝试使用 --force
标志,但在使用 --force 标志方法时,还有其他与微服务中的服务对象替换相关的错误。
Rollback "mymicroservice -monitoring" failed: failed to replace object: Service "mymicroservice-monitoring" is invalid: spec.clusterIP: Invalid value: "": field is immutable
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。