Helm-动态字符串的逗号分隔列表

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Helm-动态字符串的逗号分隔列表相关的知识,希望对你有一定的参考价值。

[是否有可能在图表内创建一个字符串,该字符串是一个逗号分隔的表示形式(类似于Python中使用",".join()命令),具有共同的前缀和变量后缀的字符串?

例如,我有一个CLI应用程序,它需要一个参数,例如通过extraArgs窗格定义中的参数:

extraArgs: >-
  -M {{ $.Values.global.hostname }}/100

我现在必须将此值修改为一个范围(即从{{$.Values.global.minval}}{{$.Values.global.maxval}},包括两端)。因此,对于minval=100maxval=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,其中包含untilStepuntilStep

以上是关于Helm-动态字符串的逗号分隔列表的主要内容,如果未能解决你的问题,请参考以下文章

从逗号分隔的字符串 [XML/XSL] 创建选择下拉列表

如何将逗号分隔的字符串转换为列表?

如何用字符串分隔的逗号填充 C# 列表框

如何将逗号分隔的字符串拆分为字符串列表?

Redshift :- 易于将逗号分隔的字符串拆分为行

如何使用带有逗号分隔值的单元格通过apps脚本创建动态下拉列表