当前位置: 首页 > 工具软件 > helm-chart > 使用案例 >

Helm-chart解决values.yaml公共变量无法加载command双引号问题

卜高超
2023-12-01

1 问题描述:

编写一个应用charts,将一个模板yaml中的command命令提取到values.yaml中,但是在验证的时候发现command命令中包含的双引号无法正常加载,具体如下:

values.yaml

containers:

  command: [ "sh","-ce","source /etc/profile"] 

-------------------------------

templates/test.yaml

containers:

     command: { .Values.containers.command }

-------------------------------

执行: helm lint ./   发现没有报错

但是执行  helm template ./ 进行验证可以发现,实际加载结果如下:

--------------------------------

templates/test.yaml

# 可以看到加载的双引号及逗号都没有了

containers:

     command: [ sh -ce source /etc/profile] 

--------------------------------

2 解决方法:

-------------------------------------------

values.yaml

# 在外层加一个 单引号 

containers:

  command: '[ "sh","-ce","source /etc/profile"]

--------------------------------------------

再次执行 helm template ./ 进行验证可以发现: 

--------------------------------------------

templates/test.yaml

# 可以看到加载command是正常的了

containers:

     command: [ "sh","-ce","source /etc/profile"] 

----------------------------------------------

小贴士:

ConfigMap:  里面涉及的数字 都要加 双引号     quote

Server: 所有的端口号不能加双引号

 类似资料: