Kubernetes/Helm:ConfigMap和"binaryData:"的任何例子?

pb1*_*100 8 kubernetes kubernetes-helm

使用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 }}
Run Code Online (Sandbox Code Playgroud)

我不确定最后一行 - 无论语法如何:

 {{ "truststores/trustore.jks" | b64enc }}
 {{ "truststores/trustore.jks" }}
Run Code Online (Sandbox Code Playgroud)

trustore.jks当我部署它是空的.

那我怎么用binaryData:

Art*_*aev 13

您的语法看起来不错,一切都应该正常工作。该字段中的文件 binaryData必须使用 base64 编码,因此{{ .Files.Get "truststores/trustore.jks" | b64enc }}是正确的。

尝试使用 debug key 应用配置并调查出了什么问题,可能没有这样的文件或编码存在一些问题。


Sta*_*lin 9

这可能为时已晚,但也许会对某人有所帮助。

您需要向 Base64 编码的字符串添加缩进。

{{ .Files.Get "truststores/trustore.jks" | b64enc | indent 4}}
Run Code Online (Sandbox Code Playgroud)

这也适用于您的文本文件:

{{ .Files.Get "truststores/simple_text_file.txt" | indent 4}}
Run Code Online (Sandbox Code Playgroud)

这应该向文件的每一行添加 4 个空格