Helm-动态字符串的逗号分隔列表
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Helm-动态字符串的逗号分隔列表相关的知识,希望对你有一定的参考价值。
[是否有可能在helm图表内创建一个字符串,该字符串是一个逗号分隔的表示形式(类似于Python中使用",".join()
命令),具有共同的前缀和变量后缀的字符串?
例如,我有一个CLI应用程序,它需要一个参数,例如通过extraArgs
窗格定义中的kubernetes参数:
extraArgs: >-
-M {{ $.Values.global.hostname }}/100
我现在必须将此值修改为一个范围(即从{{$.Values.global.minval}}
到{{$.Values.global.maxval}}
,包括两端)。因此,对于minval=100
和maxval=105
,我的图表现在需要变成(注意没有尾随逗号,并且-M
之后的空格除外):
extraArgs: >-
-M {{ $.Values.global.hostname }}/100,{{ $.Values.global.hostname }}/101,{{ $.Values.global.hostname }}/102,{{ $.Values.global.hostname }}/103,{{ $.Values.global.hostname }}/104,{{ $.Values.global.hostname }}/105
我可以通过某种方式在图表的范围/循环中执行此操作吗?我有此图表的几个实例,这些实例将使用不同的最小/最大值,并且我想尽可能地自动执行此繁琐的任务(此外,我no可以访问应用程序的源,所以我无法将CLI界面更改为应用程序)。
在Python中,我可以大致通过以下方式完成此操作:
minval = 100
minval = 105
s = "-M "
L = []
for i in range(minval, maxval+1):
L.append("{{{{ $.Values.global.hostname }}}}/{}".format(i))
s = s + ",".join(L)
# print(s)
除了从range()
函数开始,我不确定在Helm模板中从哪里开始执行此操作。
答案
Helm包含模板功能的sprig library,其中包含untilStep
和untilStep
。
以上是关于Helm-动态字符串的逗号分隔列表的主要内容,如果未能解决你的问题,请参考以下文章