22.3. Downward API를 사용하여 컨테이너 값 사용
22.3.1. 환경 변수 사용
하향식 API를 사용하는 한 가지 메커니즘은 컨테이너의 환경 변수를 사용하는 것입니다. EnvVar
유형의 valueFrom
필드 (type EnvVarSource
)는 변수의 값이 value
필드에 지정된 리터럴 값 대신 FieldRef
소스에서 제공되어야 함을 지정하는 데 사용됩니다. 향후 추가 소스가 지원될 수 있습니다. 현재 소스의 fieldRef
필드는 Downward API에서 필드를 선택하는 데 사용됩니다.
프로세스에 변수 값이 변경되었음을 알리는 방식으로 프로세스를 시작한 후에는 환경 변수를 업데이트할 수 없으므로 Pod의 상수 특성만 이러한 방식으로 사용할 수 있습니다. 환경 변수를 사용하여 지원되는 필드는 다음과 같습니다.
- Pod 이름
포드 네임스페이스
pod.yaml
파일을 생성합니다.apiVersion: v1 kind: Pod metadata: name: dapi-env-test-pod spec: containers: - name: env-test-container image: gcr.io/google_containers/busybox command: [ "/bin/sh", "-c", "env" ] env: - name: MY_POD_NAME valueFrom: fieldRef: fieldPath: metadata.name - name: MY_POD_NAMESPACE valueFrom: fieldRef: fieldPath: metadata.namespace restartPolicy: Never
pod.yaml
파일에서 Pod를 생성합니다.$ oc create -f pod.yaml
컨테이너의 로그에
MY_POD_NAME
및MY_POD_NAMESPACE
값이 있는지 확인합니다.$ oc logs -p dapi-env-test-pod