万一升级失败,一旦我解决了问题,我几乎总是收到此消息:
Failed to install app myapp. Error: UPGRADE FAILED: kind 'some kind' with the name "some-name" already exists in the cluster and wasn't defined in the previous release. Before upgrading, please either delete the resource from the cluster or remove it from the chart
这意味着某些K8s资源是通过初始失败的升级安装的,而新的升级尝试再次安装它。
要解决此问题,我必须删除给定的资源。然后升级进行得很顺利。
几乎所有资源都收到此消息时该怎么办?我有〜300资源。
我已经删除了5个资源,但是上面的消息也继续弹出其他资源。
我当然不想手工处理其他X资源。
解决方案是什么?
为什么不能仅仅重新部署/忽略那些已经安装的资源?
在当前状态下,对于较大的应用程序,升级失败后将无法执行新的升级。
答案 0 :(得分:0)
使用 Helm 提供的原子标志回滚失败的升级。这样,您就不必每次都手动清理升级失败留下的资源。
helm upgrade --atomic