kubernetes:将环境变量设置为整数
kubernetes: set environment variable as integer
我想用整数值设置 Kubernetes 部署环境,但我必须引用 Kubernetes 部署的值才能接受它。这使得 env 值成为一个字符串,并导致应用程序中出现 TypeError
。
是否有任何解决方法可以将整数或浮点值设置为 env?
通常它在评论中得到了回答,但是我会添加来自官方 kubernetes 文档的引用。
env
字段使用 EnvVar array
。基于 EnvVar v1 core API 组,name
和 value
应该只是字符串。
请参阅 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)"
Link 这个例子是 here
我想用整数值设置 Kubernetes 部署环境,但我必须引用 Kubernetes 部署的值才能接受它。这使得 env 值成为一个字符串,并导致应用程序中出现 TypeError
。
是否有任何解决方法可以将整数或浮点值设置为 env?
通常它在评论中得到了回答,但是我会添加来自官方 kubernetes 文档的引用。
env
字段使用 EnvVar array
。基于 EnvVar v1 core API 组,name
和 value
应该只是字符串。
请参阅 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)"
Link 这个例子是 here