将YAML转换为JSON:YAML:未找到所需的密钥时发生env-variable错误



我有一个部署文件,它从values.yaml文件中获取环境变量。此外,我想再添加一个名为";目的";。

apiVersion: apps/v1 
kind: Deployment
metadata:
name: {{ .Values.scheduler.name }}
spec:
selector:
matchLabels:
app: {{ .Values.scheduler.name }}
template:
metadata:
labels:
app: {{ .Values.scheduler.name }}
spec:
containers:
- name: {{ .Values.scheduler.name }}
image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}"
ports:
- containerPort: {{ .Values.scheduler.targetPort }}
imagePullPolicy: Always 
env: 
{{- toYaml .Values.envVariables | nindent 10 }}
- name: PURPOSE 
value: "SCHEDULER"

我得到的错误如下:

error converting YAML to JSON: yaml: line 140: did not find expected key

值文件中的env变量运行良好,问题似乎是变量";目的;

问题在于环境块的格式。

我使用了以下解决方案来修复错误:

apiVersion: apps/v1 
kind: Deployment
metadata:
name: {{ .Values.scheduler.name }}
spec:
selector:
matchLabels:
app: {{ .Values.scheduler.name }}
template:
metadata:
labels:
app: {{ .Values.scheduler.name }}
spec:
containers:
- name: {{ .Values.scheduler.name }}
image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}"
ports:
- containerPort: {{ .Values.scheduler.targetPort }}
imagePullPolicy: Always 
env: 
- name: PURPOSE 
value: "SCHEDULER"
{{- toYaml .Values.envVariables | nindent 10 }}

最新更新