Kubernetes部署时deployment.yaml报错mapping values are not allowed here如何解决
错误原因
YAML 对缩进敏感度极高,你当前的 Deployment 配置存在两个格式错误:
- 前三个环境变量的
valueFrom字段缩进层级错误:name和valueFrom是同级字段,你在配置中将valueFrom多缩进了2个层级,YAML 解析器会将其判定为name字段值的非法子映射,直接触发你收到的报错。 volumeMounts字段位置错误:volumeMounts是容器级配置,应该和env、image字段同级,你当前将它写到了env数组的末尾,会被识别为非法的环境变量配置项。
修复方法
将 Deployment 中containers段的配置修改为如下格式即可:
containers: - name: {{.Values.name}} image: {{.Values.image}} env: - name: FILE_SYSTEM_ID valueFrom: configMapKeyRef: name: efs-provisioner key: file.system.id - name: AWS_REGION valueFrom: configMapKeyRef: name: efs-provisioner key: aws.region - name: PROVISIONER_NAME valueFrom: configMapKeyRef: name: efs-provisioner key: provisioner.name - name: DD_AGENT_HOST valueFrom: fieldRef: fieldPath: status.hostIP volumeMounts: - name: pv-volume mountPath: /usr/local/share/mapserver
修改完成后可以先执行kubectl apply --dry-run=client -f deployment.yaml命令验证格式合法性,再正式提交部署。
内容的提问来源于stack exchange,提问作者sd-gallowaystorm
相关产品推荐
相关产品推荐

