我想用整数值设置 Kubernetes Deployment env,但我必须引用 Kubernetes Deployment 的值才能接受它。这使 env 值成为字符串,并导致应用中出现 TypeError
。
是否有将整数或浮点值设置为 env 的解决方法?
答案 0 :(得分:0)
通常在评论中回答,但我会添加来自官方 kubernetes 文档的参考。
env
字段使用 EnvVar array
。基于 EnvVar v1 核心 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)"
此示例的链接是 here