Helm Chart - 文件范围。Get 函数从文件中获取内容并将其放入 ConfigMap 中

问题描述 投票:0回答:1

我尝试使用递归来在 ConfigMap.yaml 中添加文件内容,但我似乎没有做对。无论我如何尝试,我都无法获取文件的内容。文件的位置是正确的,因为我无需递归即可获取内容。 {{.Files.Get“config/gitlab.conf”|缩进 4 -}}

任何帮助将不胜感激!谢谢你

ConfigMap.yaml:

{{- if .Values.volConfigMap}}
{{- range .Values.volConfigMap }}
---
apiVersion: v1
kind: ConfigMap
metadata:
  name: {{ .config.configName }}
  namespace: {{ $.Release.Namespace }}
data:
{{- if  .config.file }}
{{- range $path, $config := .config.file }}
  {{ $path }}: |
{{ tpl ($.Files.Get $config) $ | indent 4 -}}
{{- end -}}
{{- end -}}
{{- end -}}
{{- end -}}

Values.yaml:

config:
        configName: gitlab-conf
        file:
          logstash.conf: config/gitlab.conf

输出:

apiVersion: v1
kind: ConfigMap
metadata:
  name: gitlab-conf
  namespace: elk
data:
  logstash.conf: |

kubernetes kubernetes-helm
1个回答
0
投票
YAML 中的

|-

 标记采用多行字符串。这可能是一种在清单中嵌入大数据块的有用技术,如此处所示。

{{- if .Values.volConfigMap }} {{- range .Values.volConfigMap }} apiVersion: v1 kind: ConfigMap metadata: name: {{ .config.configName }} namespace: {{ $.Release.Namespace }} data: {{- if .config.file }} {{- range $k, $v := .config.file }} {{ $k }}: |- {{ $.Files.Get $v | nindent 4 }} {{- end -}} {{- end -}} {{- end -}} {{- end -}}

头盔-|

© www.soinside.com 2019 - 2024. All rights reserved.