This documentation is for a release that is no longer maintained
See documentation for the latest supported version 3 or the latest supported version 4.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
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
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: - name: SPECIAL_LEVEL_KEY valueFrom: configMapKeyRef: name: special-config key: special.how - name: SPECIAL_TYPE_KEY valueFrom: configMapKeyRef: name: special-config key: special.type optional: true envFrom: - configMapRef: name: env-config restartPolicy: Never
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
2 valueFrom: configMapKeyRef: name: special-config
3 key: special.how
4 - name: SPECIAL_TYPE_KEY valueFrom: configMapKeyRef: name: special-config
5 key: special.type
6 optional: true
7 envFrom:
8 - configMapRef: name: env-config
9 restartPolicy: Never
Copy to Clipboard Copied! 이 Pod가 실행되면 Pod 로그에 다음 출력이 포함됩니다.
SPECIAL_LEVEL_KEY=very log_level=INFO
SPECIAL_LEVEL_KEY=very log_level=INFO
Copy to Clipboard Copied!
SPECIAL_TYPE_KEY=charm
은 예제 출력에 나열되지 않습니다. optional: true
가 설정되어 있기 때문입니다.