【问题标题】:kubernetes: set environment variable as integerkubernetes:将环境变量设置为整数
【发布时间】:2021-08-03 00:48:34
【问题描述】:

我想用整数值设置 Kubernetes Deployment env,但我必须引用 Kubernetes Deployment 的值才能接受它。这使得 env 值成为一个字符串,并在应用程序中导致 TypeError

是否有任何解决方法可以将整数或浮点值设置为 env?

【问题讨论】:

  • 所有环境变量都是字符串。
  • 只需 parseInt() 或您的应用程序中的类似内容。
  • 是的,这就是我现在正在做的,在应用程序中处理类型转换。

标签: kubernetes environment-variables


【解决方案1】:

一般会在评论中回答,不过我会添加来自官方 kubernetes 文档的参考。

env 字段使用EnvVar array。基于 EnvVar v1 core API 组,namevalue 应该只是字符串。 请看EnvVar v1 core

这里有一个官方的例子,看看变量是如何设置的:

apiVersion: v1
kind: Pod
metadata:
  name: dependent-envars-demo
spec:
  containers:
    - name: dependent-envars-demo
      args:
        - while true; do echo -en '\n'; printf UNCHANGED_REFERENCE=$UNCHANGED_REFERENCE'\n'; printf SERVICE_ADDRESS=$SERVICE_ADDRESS'\n';printf ESCAPED_REFERENCE=$ESCAPED_REFERENCE'\n'; sleep 30; done;
      command:
        - sh
        - -c
      image: busybox
      env:
        - name: SERVICE_PORT
          value: "80"
        - name: SERVICE_IP
          value: "172.17.0.1"
        - name: UNCHANGED_REFERENCE
          value: "$(PROTOCOL)://$(SERVICE_IP):$(SERVICE_PORT)"
        - name: PROTOCOL
          value: "https"
        - name: SERVICE_ADDRESS
          value: "$(PROTOCOL)://$(SERVICE_IP):$(SERVICE_PORT)"
        - name: ESCAPED_REFERENCE
          value: "$$(PROTOCOL)://$(SERVICE_IP):$(SERVICE_PORT)"

这个例子的链接是here

【讨论】:

  • 你好@roy。这能回答你的问题吗?
猜你喜欢
  • 2023-03-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-08-11
  • 1970-01-01
  • 2019-05-08
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多