如何安装/升级已卸载的版本(--keep-history)

问题描述 投票:0回答:2

在我卸载一个版本后(使用--keep-history),将保留一个带有“卸载状态”的版本历史。

然后如果我想重新安装这个release,

install
upgrade --install
都失败了

install
失败,因为“无法重新使用仍在使用的名称” 但是
upgrade --install
失败了,因为“xxx 没有已部署的版本”

我必须删除历史记录或在没有历史记录的情况下卸载的唯一方法吗?

我尝试使用

install
upgrade --install
命令,都失败了

kubernetes kubernetes-helm
2个回答
0
投票

我明白你的需要;我前段时间遇到过这个问题。

您所描述的正是 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

你不会再有任何问题了。


0
投票

如 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的信息

© www.soinside.com 2019 - 2024. All rights reserved.