首页 文章

如何将动态参数传递给运行作业的helm图表

提问于
浏览
1

我想允许我们的开发人员将动态参数传递给helm模板(Kubernetes job) . 目前我在helm模板中的参数有点静态(除了某些值)并且看起来像这样

Args:
        --arg1
        value1
        --arg2
        value2
        --sql-cmd
        select * from db

如果我使用没有Kubernetes的docker容器运行任务,我会传递如下参数:

docker run my-image --arg1 value1 --arg2 value2 --sql-cmd "select * from db"

有没有办法在掌舵图中模板化参数,以便可以将任意数量的参数传递给模板 .

例如 .

cat values.yaml
...
arguments: --arg1 value1 --arg2 value2 --sql-cmd "select * from db"
...

要么

cat values.yaml
...
arguments: --arg3 value3
...

我尝试了一些方法,但没有成功 . 这是一个例子:

Args:          
      {{  range .Values.arguments }}
        {{ . }}
      {{ end }}

1 回答

  • 1

    是 . 在 values.yaml 中,您需要为其指定一个数组而不是以空格分隔的字符串 .

    cat values.yaml
    ...
    arguments: ['--arg3', 'value3', '--arg2', 'value2']
    ...
    

    要么

    cat values.yaml
    ...
    arguments:
    - --arg3
    - value3
    - --arg2
    - value2
    ...
    

    然后你喜欢你在模板中提到应该这样做:

    Args:          
          {{  range .Values.arguments }}
            {{ . }}
          {{ end }}
    

相关问题