kubernetes 如何安装/升级未安装的版本(--keep-history)

0qx6xfy6  于 2023-03-22  发布在  Kubernetes
关注(0)|答案(2)|浏览(119)

在我卸载了一个版本(使用--keep-history)之后,仍然会有一个带有“uninstalled status”的版本历史记录。
然后如果我想再次安装这个版本,installupgrade --install都失败了。
install由于“无法重用仍在使用的名称”而失败,但upgrade --install由于“xxx没有部署的版本”而失败
是唯一的方法,我必须删除历史或卸载没有历史?
我尝试使用installupgrade --install命令,均失败

vbkedwbf

vbkedwbf1#

我理解你的需要;不久前我遇到了这个问题。
您所描述的正是Helm的工作方式,但您可以尝试以下解决方法:删除图表后(保留“卸载”历史记录),将历史记录重定向到一个文件并保存到Git仓库。2最后,在再次安装之前,永久删除图表。
示例:

helm -n NAMESPACE uninstall APP --keep-history
helm -n NAMESPACE history APP -oyaml > APP-uninstall-log.yaml

(Push文件到Git存储库)

helm -n NAMESPACE uninstall APP

你不会再有任何问题了。

wribegjk

wribegjk2#

正如phoenixnap在这篇doc中所描述的。

修复“helm has no deployed releases”错误有多种方法,其中一种方法是运行以下命令

kubectl -n kube-system patch configmap [release name].[release version] --type=merge -p '{"metadata":{"labels":{"STATUS":"DEPLOYED"}}}'

[版本名称]是要更新的版本的名称。
[release version]是您的版本的当前版本。
由于Helm 3将部署历史存储为Kubernetes secrets,请检查部署秘密:

kubectl get secrets

查找指向失败部署的secret,然后使用以下命令更改部署状态:

kubectl patch secret [name-of-secret-related-to-deployment] --type=merge -p '{"metadata":{"labels":{"status":"deployed"}}}'

您也可以参考Jacky Jiang的blog,了解有关如何升级Helm的更多信息

相关问题