来自 yml 文件的 Helm Chart 配置图
Helm Chart configmap from yml file
我在 helm 中创建了 ConfigMap
apiVersion: v1
kind: ConfigMap
metadata:
name: test
data:
{{- $root := . -}}
{{- range $path, $bytes := .Files.Glob "*.yml"}}
{{ $path }}: '{{ $root.Files.Get $path }}'
{{- end }}
当我 运行 kubectl 获取配置映射时,yml 文件格式更改为另一种文件格式,在 yml 文件中添加“\”。如何防止 helm 更改文件格式?
apiVersion: v1
kind: ConfigMap
metadata:
name: test
data:
{{- $root := . -}}
{{- range $path, $bytes := .Files.Glob "*.yml"}}
{{- $value := $root.Files.Get $path -}}
{{- printf "\n" | nindent 2 -}}
{{ $path | nindent 2 }}: {{- toYaml $value | nindent 4 }}
{{- end }}
你可以使用类似上面的东西。
我做了什么:
- 将文件内容保存在
$value
变量中。
- 稍后将
$value
变量传递给 toYaml
函数和 nindent
与 4
- 使用toYaml模板函数,helm不会改变文件内容。
我在 helm 中创建了 ConfigMap
apiVersion: v1
kind: ConfigMap
metadata:
name: test
data:
{{- $root := . -}}
{{- range $path, $bytes := .Files.Glob "*.yml"}}
{{ $path }}: '{{ $root.Files.Get $path }}'
{{- end }}
当我 运行 kubectl 获取配置映射时,yml 文件格式更改为另一种文件格式,在 yml 文件中添加“\”。如何防止 helm 更改文件格式?
apiVersion: v1
kind: ConfigMap
metadata:
name: test
data:
{{- $root := . -}}
{{- range $path, $bytes := .Files.Glob "*.yml"}}
{{- $value := $root.Files.Get $path -}}
{{- printf "\n" | nindent 2 -}}
{{ $path | nindent 2 }}: {{- toYaml $value | nindent 4 }}
{{- end }}
你可以使用类似上面的东西。
我做了什么:
- 将文件内容保存在
$value
变量中。 - 稍后将
$value
变量传递给toYaml
函数和nindent
与 4 - 使用toYaml模板函数,helm不会改变文件内容。