【问题标题】:Helm configMap support for binary filesHelm configMap 对二进制文件的支持
【发布时间】:2021-05-28 04:00:09
【问题描述】:

我正在尝试创建一个 ConfigMap 类型的掌舵图,它将替换来自 kubernates 的以下命令。

kubectl create configmap my-config -n $namespace --from-file=./my-directory

my-directory 包含大约 5 个文件,其中 2 个是属性文件,其中 2 个是 jpg 文件。我看到kubectl get cm 的以下结果,我可以在configMap 中看到4 DATA 文件

[admin@cluster ~]$ kubectl get cm
NAME                   DATA   AGE
warm-up-config         4      41m

我创建了一个模板如下,如果我只指定属性文件,它可以工作,但如果我添加 jpg 文件,它根本不起作用

apiVersion: v1
kind: ConfigMap
metadata:
  name: my-config
data:
{{ (.Files.Glob "resources/*").AsConfig | nindent 2 }}

有谁知道我是如何做到这一点的。

【问题讨论】:

    标签: kubernetes kubernetes-helm configmap helmfile


    【解决方案1】:

    JPG 文件是二进制文件,应按原样添加。

    data:
      binaryData:
        {{ .Files.Get "/path/to/file.jpg" }}
    

    binaryData字段中的文件必须用base64编码,所以:

    {{ .Files.Get "/path/to/file.jpg" | b64enc }}
    

    不要忘记正确的缩进:

    {{ .Files.Get "/path/to/file.jpg" | b64enc | nindent 4 }}
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-03-22
      • 2018-01-03
      • 2016-05-15
      • 2017-01-18
      • 1970-01-01
      • 2010-09-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多