sleep 디플로이먼트를 소재로 컨피그맵을 생성하고 사용해 보겠다. 예제 4-2는 다시 수정된 파드 정의의 환경 변수 정의 부분이다. 이 환경 변수 중 하나는 YAML 파일에서 직접 정의된 것이고 다른 하나는 컨피그맵에서 읽어 들인다.
예제 4-2 sleep-with-configMap-env.yaml, 파드 정의에서 컨피그맵 읽어 들이기
env: # 컨테이너 정의의 환경 변수 부분
- name: KIAMOL_CHAPTER
value: "04" # 환경 변수의 값
- name: KIAMOL_SECTION
valueFrom:
configMapKeyRef: # 이 값은 컨피그맵에서 읽어 들이라는 의미
name: sleep-config-literal # 컨피그맵 이름
key: kiamol.section # 컨피그맵에서 읽어 들일 항목 이름
정의에서 컨피그맵을 참조한 파드는 해당 컨피그맵이 있어야 클러스터에 배치할 수 있다. 이 예제의 정의는 키-값 쌍을 데이터로 가진 sleep-config-literal이라는 이름의 컨피그맵이 필요하다. 컨피그맵을 만드는 가장 간단한 방법은 kubectl을 사용하여 데이터를 입력하는 것이다.