我正在尝试访问头盔模板中的文件作为配置映射,如下所示。我收到如下错误。
但是,当我的application.yml没有嵌套对象(例如,名称:test)时,它可以工作。关于我可能做错了什么的任何想法?
config-map.yaml:
apiVersion: v1
kind: ConfigMap
metadata:
name: {{ .Release.Name }}-configmap
data:
{{.Files.Get “application.yml”}}
application.yml:
some-config:
application:
name: some-application-name
错误:
*ConfigMap in version “v1" cannot be handled as a ConfigMap: v1.ConfigMap.Data: ReadString: expects ” or n, but found {, error found in #10 byte of ...|ication”*
答案 0 :(得分:1)
好像您的application.yaml
文件上有缩进问题。也许无效的YAML?如果我尝试使用与您完全相同的文件,则会得到以下信息:
○ → helm template ./mychart -x templates/configmap.yaml
---
# Source: mychart/templates/configmap.yaml
apiVersion: v1
kind: ConfigMap
metadata:
name: release-name-configmap
data:
some-config:
application:
name: some-application-name
答案 1 :(得分:0)
模板应使用两个空格缩进(不要使用制表符)。 模板指令的左括号和右括号之间应有空格。
最终它应该看起来像:
{{ .Files.Get "application.yml" | nindent 2 }}
or
{{- .Files.Get "application.yml" | nindent 2 }}
to chomp whitespace on the left