我刚刚创建了一个新的Helm图表,但是当我运行helm install --dry-run --debug
时,我得到了:
错误:multi-camera-tracking / templates / multi-camera-tracking.yaml上的YAML解析错误:将YAML转换为JSON时发生错误:yaml:第30行:找不到预期的键
这是我的Yaml文件:
---
# apiVersion: apps/v1beta1
apiVersion: apps/v1
kind: StatefulSet
metadata:
name: multi-camera-tracking
annotations:
Process: multi-camera-tracking
labels:
io.kompose.service: multi-camera-tracking
spec:
serviceName: multi-camera-tracking
replicas: 1
selector:
matchLabels:
io.kompose.service: multi-camera-tracking
podManagementPolicy: "Parallel"
template:
metadata:
labels:
io.kompose.service: multi-camera-tracking
spec:
containers:
- name: multi-camera-tracking
env:
- name: MCT_PUB_PORT
value: {{ .Values.MCT_PUB_PORT | quote }}
- name: SCT_IP_ADDR_CSV
value: {{ .Values.SCT_IP_ADDR_CSV | quote }}
- name: SCT_PUB_PORT_CSV
value: {{ .Values.SCT_PUB_PORT1 | quote }}, {{ .Values.SCT_PUB_PORT2 | quote }}
image: {{ .Values.image_multi_camera_tracking }}
#name: multi-camera-tracking
ports:
- containerPort: {{ .Values.MCT_PUB_PORT }}
resources:
requests:
cpu: 0.1
memory: 250Mi
limits:
cpu: 4
memory: 10Gi
readinessProbe:
exec:
command:
- ls
- /tmp
initialDelaySeconds: 5
periodSeconds: 60
restartPolicy: Always
#imagePullSecrets:
#- name: wwssecret
---
apiVersion: v1
kind: Service
metadata:
annotations:
Process: multi-camera-tracking
creationTimestamp: null
labels:
io.kompose.service: multi-camera-tracking
name: multi-camera-tracking
spec:
ports:
- name: "MCT_PUB_PORT"
port: {{ .Values.MCT_PUB_PORT }}
targetPort: {{ .Values.MCT_PUB_PORT }}
selector:
io.kompose.service: multi-camera-tracking
status:
loadBalancer: {}
奇怪的是,我还创建了多个其他舵图,它们都与此非常相似,但是这一舵不起作用并产生错误。
答案 0 :(得分:2)
就我而言,我已经写了
name: { { template "cp-kafka.fullname" . } }-jaas-configmap
由于那个错误。
正确的是
name: {{ template "cp-kafka.fullname" . }}-jaas-configmap
区别在于大括号之间的空格。
答案 1 :(得分:1)
我怀疑这是问题所在,第30行中的键后面的值;它包含一个,
,这使其成为无效值。
{{ .Values.SCT_PUB_PORT1 | quote }}, {{ .Values.SCT_PUB_PORT2 | quote }}
答案 2 :(得分:1)
我找到了它不起作用的原因。首先,可以使用逗号分隔的值,但有问题的部分是引号。
这是错误的语法:
value: {{ .Values.SCT_PUB_PORT1 | quote }}, {{ .Values.SCT_PUB_PORT2 | quote }}
这是正确的:
value: {{ .Values.SCT_PUB_PORT1 }}, {{ .Values.SCT_PUB_PORT2 }}
答案 3 :(得分:0)
调试此问题的一种方法是进行空运行并渲染模板,以查看引起问题的原因是什么。
helm install [Chart] [flags] --dry-run --debug
这将使您看到哪些键的缩进不正确,因为此问题有时是由错误的缩进引起的。