Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/kubernetes/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Kubernetes ConfigMap值作为容器内另一个变量的输入_Kubernetes_Nested_Environment Variables_Containers_Configmap - Fatal编程技术网

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\