Helm 对​​其历史的大小有限制吗?

Does Helm have a limit to the size of its history?

命令 helm history 打印版本的过去修订列表。这段历史的大小有限制吗?即一个数字 n 这样如果有 n + 1 修订那么第一个修订不再可用?我知道 helm history 命令的 max 标志限制了返回列表的长度,所以这个问题可以等效地问为:does the max flag have a limit for它的价值?

这是在想要执行 helm rollback 的情况下 - 该命令需要修改,我想确认 Helm 永远不会忘记旧的修改。

谢谢

是的。它确实有一个限制,如果您查看 source code (also here),您会发现它在 Golang 中被定义为 int32

然后,如果您查看内置类型的 int32 文档,您会发现它的范围是 -21474836482147483647。理论上,您可以在 helm 命令行上将 --max 指定为正数,这样 2147483647 就是您的限制。 (令人惊讶的是,我没有看到 int32 的绝对值是在哪里生成的)

releaseInfo 结构有内存占用,因此如果您有很多版本,您将 运行 达到一个限制,具体取决于您的系统上有多少内存。

在 helm 3 中。除非您指定了最大历史记录,否则默认值为 10。

例如使用命令 --history-max 进行 helm 升级: https://helm.sh/docs/helm/helm_upgrade/

--history-max int 限制每个版本保存的最大修订数。使用 0 表示无限制(默认 10)