头盔升级失败,并显示错误:期望为“或n,但发现为t

时间:2019-12-16 09:51:24

标签: kubernetes-helm

我正在尝试向掌舵图中添加一个新容器,它通过了验证(头盔棉绒),但是在部署的最后阶段失败了:

  

2019年12月16日星期一10:01:58 INFO正在运行头盔安装/升级   xyz-stg
  升级失败:错误:“”无效:补丁:无效值:   “ {\” apiVersion \“:\” apps / v1 \“,\”种类\“:\”部署\“,\”元数据\“
  (...)
  ReadString:预期为“或n,但发现为t,在#10字节中发现错误   of ||,“ value”:true},{“ nam | ...,更大的上下文... |” value“:” stg“},   (...)
  错误:升级失败:“”无效:补丁:无效值:   “ {\” apiVersion \“:\” apps / v1 \“,\”种类\“:\”部署\“,\”元数据\“:   (...)
  ReadString:预期为“或n,但发现为t,在#10字节中发现错误   of ||,“ value”:true},{“ nam | ...,更大的上下文... |” value“:” stg“},   (...)Mon Dec 16 10:02:09 2019错误升级/安装xyz-stg   失败

我不知道此错误的含义或调试方法。听起来有些语法缩进错误,但我所做的只是:从其他工作的Pod复制粘贴的Pod配置并更改所有名称。

2 个答案:

答案 0 :(得分:2)

添加双引号并通过以下更改更新Deployment.yaml

在deploymeny.yaml文件中

        value: {{ .Values.environment.TEMP }}
        value: {{ quote .Values.environment.TEMP }}

在Values.yaml文件中

环境: TEMP:“真”

答案 1 :(得分:0)

我遇到了一个类似的问题,显然是Kubernetes的Pod规范要求将环境变量值强制转换为字符串,因此整数需要通过引号进行传递。因此,无论您使用的是数字还是在deploymeny.yaml文件中值尝试通过以下方式传递它们。

值:{{.Values.environment.TEMP | quote}}

此后它将正常工作。希望对您有帮助