即使在 ttlAfterFinished 很久之后仍在使用的 Job 实例的 kubernetes 版本名称

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

我使用 helm 来安排作业(不是 CronJobs,只是 Jobs)。我使用 ttlAfterFinished 在完成后自动删除它们。但是当我回来并尝试使用 helm 再次安排相同的工作时,它告诉我发布名称已被使用。

我的问题是:“到底是什么?”

当作业一周前完成并且 ttlAfterFinished 设置为 8 小时时,为什么作业发布名称仍在使用?

编辑:有人指出,安装的 helmcharts 存储在其他地方。那么,在使用 helm install 时如何完全清理作业呢?可以吗?

kubernetes kubernetes-helm kubernetes-jobs
1个回答
0
投票

您收到的投诉来自 Helm,而不是普通的 Kubernetes。 当您

helm install
某些东西时,Helm 会跟踪它安装的内容以及设置;您可以
helm list
已安装的 Helm 版本,并为每个
helm get values
及其配置设置和
helm get manifest
获取 Helm 安装的 Kubernetes 对象。

假设您

helm install some-release-name ./chart
要安装一个图表,该图表恰好包含一个具有删除自身设置的作业。 即使 Job 对象从集群中消失,Helm 版本仍然存在,并且
helm get manifest some-release-name
将向您展示 Job 的样子。 由于 Helm 版本已经存在,重新运行
helm install
将产生错误。

这里最简单的答案是

helm upgrade --install
。 在普通图表上,会将图表中的内容与其当前值与集群中的内容进行比较,并推出更新;在这种情况下,它将重新安装作业(已使用 Helm 3.16.1 进行验证)。 如果根本没有安装图表,那么它将像
helm install
一样安装它。

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