首页 > 解决方案 > Kubernetes:无法将 int64 转换为字符串。Kubernetes 无法解释 helmchart values.yaml 文件中的整数值

问题描述

我有一个values.yaml文件,我在其中给出了spring_datasource_hikari_maximum_pool_size: "10"

deployment yaml我使用这个值作为

 - name: SPRING_DATASOURCE_HIKARI_MAXIMUM-POOL-SIZE
    value: {{ .Values.spring_datasource_hikari_maximum_pool_size }}

但是,当在deployment.yaml 文件中使用时,它会失败并出现以下错误。


Deploy failed: The request is invalid: patch: Invalid value: "map[metadata:map[annotations:map[kubectl.kubernetes.io/last-applied-configuration:{"apiVersion":"apps/v1","kind":"Deployment","metadata":{"annotations":
{
(helm values etc)
`{"name":"SPRING_DATASOURCE_HIKARI_MAXIMUM-POOL-SIZE","value":10}]` **(this is the incorrect value)** 
}
cannot convert int64 to string

values.yaml 在文件中使用文件中的整数值的正确格式是什么deployment.yaml

我还尝试了多种带有引号“”的组合,但似乎没有任何效果。

任何帮助表示赞赏,在此先感谢。

标签: kuberneteskubernetes-helmkubectlamazon-eksspinnaker

解决方案


使用布尔值和整数检查 Helm 环境变量中的解决方案

我们可以使用!!str将输出转换为字符串,或者我们也可以使用 undefined!!并获得相同的行为,为以后的开发人员提供很好的提示,了解我们的意图!!booleanEnv!!integerEnv 将值转换为字符串(甚至只是!!boolean

- name: SPRING_DATASOURCE_HIKARI_MAXIMUM-POOL-SIZE
    value: !!integerEnv {{ .Values.spring_datasource_hikari_maximum_pool_size }}
- name: FAVORITE_DRINK
    value: !!stringEnv {{ .Values.favoriteDrink }}
- name: TAKES_SUGAR
    value: !!booleanEnv {{ .Values.takesSugar }}

推荐阅读