使用Kubernetes 1.10。*,我们可以将binaryData:
与ConfigMap
结合使用,而我正尝试将其与Helm
结合使用:
apiVersion: v1
kind: ConfigMap
metadata:
name: some_config_map
data:
text_data: |-
{{ .Files.Get "truststores/simple_text_file.txt" }}
binaryData:
trustore.jks: |-
{{ .Files.Get "truststores/trustore.jks" | b64enc }}
我不确定最后一行-不管语法如何:
{{ "truststores/trustore.jks" | b64enc }}
{{ "truststores/trustore.jks" }}
trustore.jks
部署后为空。
那我该如何使用binaryData:
?
答案 0 :(得分:2)
您的语法看起来不错,并且一切正常。字段binaryData
中的文件必须使用base64编码,因此{{ .Files.Get "truststores/trustore.jks" | b64enc }}
是正确的。
尝试使用调试键应用配置并调查出了什么问题,可能是没有此类文件或编码存在问题。
答案 1 :(得分:1)
这可能为时已晚,但也许会对某人有所帮助。
您需要在base64编码的字符串中添加缩进。
{{ .Files.Get "truststores/trustore.jks" | b64enc | indent 4}}
这也适用于您的文本文件:
{{ .Files.Get "truststores/simple_text_file.txt" | indent 4}}
这应该在文件的每一行中添加4个空格