22.3. 使用案例: 在 Pod 中使用 ConfigMap
以下小节描述了在 pod 中消耗 ConfigMap
对象时的一些用例。
22.3.1. 在环境变量中消耗
ConfigMap
可用于填充各个环境变量,或者从构成有效环境变量名称的所有键填充环境变量。例如,请考虑以下 ConfigMap
:
有两个环境变量的 ConfigMap
apiVersion: v1 kind: ConfigMap metadata: name: special-config 1 namespace: default data: special.how: very 2 special.type: charm 3
包含一个环境变量的 ConfigMap
apiVersion: v1 kind: ConfigMap metadata: name: env-config 1 namespace: default data: log_level: INFO 2
您可以使用 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_KEY valueFrom: configMapKeyRef: name: special-config 2 key: special.how 3 - name: SPECIAL_TYPE_KEY valueFrom: configMapKeyRef: name: special-config 4 key: special.type 5 optional: true 6 envFrom: 7 - configMapRef: name: env-config 8 restartPolicy: Never
当此 pod 运行时,其输出将包含以下行:
SPECIAL_LEVEL_KEY=very log_level=INFO