有没有办法为 spec.container.env.value 传递 bool 值?
我想用 helm 覆盖 docker 父镜像中的 bool 环境变量(https://github.com/APSL/docker-thumbor):UPLOAD_ENABLED

我做了一个更简单的测试

如果您尝试以下 yaml :

apiVersion: v1
kind: Pod
metadata:
  name: envar-demo
  labels:
    purpose: demonstrate-envars
spec:
  containers:
  - name: envar-demo-container
    image: gcr.io/google-samples/node-hello:1.0
    env:
    - name: DEMO_GREETING
      value: true

并尝试使用 kubernetes 创建它,您收到以下错误:
kubectl create -f envars.yaml

错误 :
error: error validating "envars.yaml": error validating data: expected type string, for field spec.containers[0].env[0].value, got bool; if you choose to ignore these errors, turn validation off with --validate=false

验证=假
Error from server (BadRequest): error when creating "envars.yaml": Pod in version "v1" cannot be handled as a Pod: [pos 192]: json: expect char '"' but got char 't'

它也不适用于整数值

最佳答案

spec.container.env.value 定义为 string 。看这里:
https://kubernetes.io/docs/api-reference/v1.6/#envvar-v1-core

使用此值时,您必须在容器中将/转换/转换为 bool 值

关于Docker 如何在 spec.container.env.value 上使用 bool 值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44679343/

10-16 02:31