首页 > 解决方案 > 在 helm 模板中将千兆字节转换为字节

问题描述

我有一个 kafka 图表,它的值文件中定义了 pvc 大小,如下所示20Gi:我还有一个 configmap,它有一个以字节为单位的定义,如下所示log.retention.bytes=21474836480

我试图让我的图表使用size值文件中定义的相同值,在 configmap 中(希望之前对其进行一些算术运算,例如去掉一个常量值以保留一些额外的空间)

我一直在寻找一段时间,看看是否有这样的函数内置到 helm 模板中,或者有一种方法可以创建自己的函数,但运气并不好。

理想情况下,我正在寻找这样的东西:

log.retention.bytes={{ .Values.persistence.size | convert-to-bytes | substract 10000 }}

标签: gokubernetes-helmgo-templates

解决方案


您可以使用div Sprig 函数。例如,您可以这样做:

{{ div .Values.persistence.size 1024 }}

如果您想对结果进行减法运算,可以使用sub函数。例如:

{{ sub (div .Values.persistence.size 1024) 10000 }}

推荐阅读