Kubernetes ConfigMap值作为容器内另一个变量的输入
如何使用下面部分中声明的Kubernetes ConfigMap值作为容器内另一个变量的输入,kubernetes,nested,environment-variables,containers,configmap,Kubernetes,Nested,Environment Variables,Containers,Configmap,如何使用下面部分中声明的$LOCAL\u IP\u DB变量的ConfigMap作为另一个声明变量的输入$LOCAL_IP_DB是在DB secret configmap中定义的通用密钥,但是还有另一个环境变量需要它?如何让它工作 spec: containers: - env: - name: LOCAL_IP_DB valueFrom: configMapKeyRef:
$LOCAL\u IP\u DB
变量的ConfigMap作为另一个声明变量的输入$LOCAL_IP_DB
是在DB secret configmap
中定义的通用密钥,但是还有另一个环境变量需要它?如何让它工作
spec:
containers:
- env:
- name: LOCAL_IP_DB
valueFrom:
configMapKeyRef:
name: db-secret
key: LOCAL_IP_DB
- name: LOG_Files
value: \\${LOCAL_IP_DB}\redis\files\
该键使用:$()
而不是${}
示例-pod.yaml:
apiVersion: v1
kind: Pod
metadata:
name: example
spec:
containers:
- name: example
image: bash
args: [printenv]
env:
- name: LOCAL_IP_DB
valueFrom:
configMapKeyRef:
name: db-secret
key: LOCAL_IP_DB
- name: LOG_FILES
value: \$(LOCAL_IP_DB)\redis\files\
示例-configmap.yaml:
apiVersion: v1
data:
LOCAL_IP_DB: 192.168.0.1
kind: ConfigMap
metadata:
name: db-secret
测试:
您可以在此处找到有关此功能的更多信息:
请注意,如果您想管理机密,建议您这样做
controlplane $ kubectl apply -f example-pod.yaml -f example-configmap.yaml
controlplane $ kubectl logs example | grep 192
LOCAL_IP_DB=192.168.0.1
LOG_FILES=\192.168.0.1\redis\files\