如何使用头盔模板创建toml数组?

时间:2019-09-26 05:29:55

标签: kubernetes kubernetes-helm

我有一个包含toml文件的configmap

类似

apiVersion: v1
kind: ConfigMap
data:
  burrow.toml: |
    [zookeeper]
    servers=[abc.2181, cde.2181]
    timeout=6
    root-path="/burrow"

当我尝试创建头盔图以生成此configmap时,我在输入类似内容:

apiVersion: v1
kind: ConfigMap
data:
  burrow.toml: |
    [zookeeper]
    servers={{ .Values.config.zookeeperServers }}
    timeout=6
    root-path="/burrow"

然后在values.yaml中,我输入:

  zookeeperServers: [ "abc.2181", "cde.2181"]

但是,呈现的值变为:

apiVersion: v1
kind: ConfigMap
data:
  burrow.toml: |
    [zookeeper]
    servers=[abc.2181 cde.2181]
    timeout=6
    root-path="/burrow"

缺少逗号。有没有很好的方法可以正确地对此进行模板化?谢谢!

2 个答案:

答案 0 :(得分:2)

这是values.yaml中的一种解决方案 放

zookeeperServers: |
[ "abc.2181", "cde.2181"]

解决了问题。

答案 1 :(得分:2)

尝试servers=[{{ .Values.config.zookeeperServers | join "," }}]。如果将TOML元字符放在这些值中,引用可能会变得很奇怪,但是对于简单的事情,它应该可以工作。