AVa*_*arf 7 yaml kubernetes kubernetes-helm
我刚刚创建了一个新的 Helm 图表,但是当我运行时 helm install --dry-run --debug我得到:
错误:多相机跟踪/模板/多相机跟踪.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: {}
Run Code Online (Sandbox Code Playgroud)
奇怪的是我已经创建了多个其他舵图,它们都与此非常相似,但是这个不起作用并产生错误。
就我而言,我写了
name: { { template "cp-kafka.fullname" . } }-jaas-configmap
Run Code Online (Sandbox Code Playgroud)
由于该错误。
正确的是
name: {{ template "cp-kafka.fullname" . }}-jaas-configmap
Run Code Online (Sandbox Code Playgroud)
区别在于大括号之间的空格。
我认为template命令--debug是此类问题的预期调试路径,例如:
helm template ./yourchart/ -f your-overrides.yaml -n your-ns --debug
Run Code Online (Sandbox Code Playgroud)
这里 helm 会尽力尝试生成 YAML,并让你检查并看看是否可以更清楚地看到错误。
我找到了它不起作用的原因。首先,允许有逗号分隔的值,但有问题的部分是引号。
这是错误的语法:
value: {{ .Values.SCT_PUB_PORT1 | quote }}, {{ .Values.SCT_PUB_PORT2 | quote }}
Run Code Online (Sandbox Code Playgroud)
这是正确的:
value: {{ .Values.SCT_PUB_PORT1 }}, {{ .Values.SCT_PUB_PORT2 }}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
26777 次 |
| 最近记录: |