我需要将私钥RSA密钥作为ENV var传递到我的部署文件,但目前无法执行。
containers:
env:
- name: MY_PRIVATE_KEY
value: |+
{{ .Values.fpm.dot_env.MY_PRIVATE_KEY}}
我已经尝试过使用toYaml进行缩进,而没有缩进(这没有错误,但是我的env var以|-开头)...
有什么主意吗?
这是我从该代码中得到的错误:
Error: UPGRADE FAILED: YAML parse error on broker-api/templates/deployment.yaml: error converting YAML to JSON: yaml: line 59: could not find expected ':'
答案 0 :(得分:1)
如果您尝试在Helm图表的Kubernetes工件中嵌入多行字符串,最简单的方法是
|
block scalar form保留换行符; {{ ... }}
宏;和indent
函数缩进块的每一行,包括第一行。(您经常会看到|-
会修饰最后的换行符;为此,我可以想象要保留最后的换行符|+
或仅保留简单的|
;最后两个之间的区别是最后是否保留多余的空行。)
containers:
env:
- name: MY_PRIVATE_KEY
value: |+
{{ .Values.fpm.dot_env.MY_PRIVATE_KEY | indent 12 }}
(通常,对于实际机密,最好将它们存储在Kubernetes Secret对象中。这些值是在Kubernetes API中以base64编码的,因此当您在Helm中声明Secret对象时,应使用... | b64enc
而不是indent
食谱。)
答案 1 :(得分:0)
最后,我解决了b64编码密钥并从后端b64对其解码的问题。
谢谢。