在我卸载一个版本后(使用--keep-history),将保留一个带有“卸载状态”的版本历史。
然后如果我想重新安装这个release,
install
和upgrade --install
都失败了
install
失败,因为“无法重新使用仍在使用的名称”
但是 upgrade --install
失败了,因为“xxx 没有已部署的版本”
我必须删除历史记录或在没有历史记录的情况下卸载的唯一方法吗?
我尝试使用
install
和upgrade --install
命令,都失败了
我明白你的需要;我前段时间遇到过这个问题。
您所描述的正是 Helm 的工作原理,但您可以尝试此解决方法:删除 Chart 后(保留“卸载”历史记录),将历史记录重定向到一个文件并将其保存到 Git 存储库。最后,在再次安装之前,永久删除图表。
例子:
helm -n NAMESPACE uninstall APP --keep-history
helm -n NAMESPACE history APP -oyaml > APP-uninstall-log.yaml
(推送文件到Git仓库)
helm -n NAMESPACE uninstall APP
你不会再有任何问题了。
如 phoenixnap 的doc 中所述。
有几种方法可以修复“helm has no deployed releases”错误,一种方法是运行以下命令:
kubectl -n kube-system patch configmap [release name].[release version] --type=merge -p '{"metadata":{"labels":{"STATUS":"DEPLOYED"}}}'
[发布名称] 是您要更新的发布名称。
[发布版本] 是您发布的当前版本。
因为 Helm 3 将部署历史存储为 Kubernetes 秘密。检查部署秘密:
kubectl get secrets
找到部署失败的秘密,然后使用以下命令更改部署状态:
kubectl patch secret [name-of-secret-related-to-deployment] --type=merge -p '{"metadata":{"labels":{"status":"deployed"}}}'
您也可以参考Jacky Jiang的这篇博客了解更多关于如何升级helm的信息