6.2. 使用案例: 在 pod 中使用配置映射
以下小节描述了在 pod 中消耗 ConfigMap 对象时的一些用例。
6.2.1. 使用配置映射在容器中填充环境变量 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
配置映射可用于在容器中填充各个环境变量或从构成有效环境变量名称的所有键填充容器中的环境变量。
例如,请考虑以下配置映射:
有两个环境变量的 ConfigMap
apiVersion: v1
kind: ConfigMap
metadata:
name: special-config
namespace: default
data:
special.how: very
special.type: charm
带有一个环境变量的ConfigMap
apiVersion: v1
kind: ConfigMap
metadata:
name: env-config
namespace: default
data:
log_level: INFO
流程
您可以使用
configMapKeyRef部分在 pod 中使用此ConfigMap的键。配置为注入特定环境变量的
Pod规格示例apiVersion: v1 kind: Pod metadata: name: dapi-test-pod spec: containers: - name: test-container image: gcr.io/google_containers/busybox command: [ "/bin/sh", "-c", "env" ] env:1 - name: SPECIAL_LEVEL_KEY2 valueFrom: configMapKeyRef: name: special-config3 key: special.how4 - name: SPECIAL_TYPE_KEY valueFrom: configMapKeyRef: name: special-config5 key: special.type6 optional: true7 envFrom:8 - configMapRef: name: env-config9 restartPolicy: Never当此 Pod 运行时,Pod 日志包括以下输出:
SPECIAL_LEVEL_KEY=very log_level=INFO
注意
示例输出中没有列出 SPECIAL_TYPE_KEY=charm,因为设置了 optional: true。