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.7.5. 컨테이너에서 API 오브젝트를 사용하도록 허용
Downward API는 OpenShift Container Platform에 결합하지 않고도 컨테이너에서 API 오브젝트에 대한 정보를 사용할 수 있는 메커니즘입니다. 이러한 정보에는 Pod 이름, 네임스페이스, 리소스 값이 포함됩니다. 컨테이너는 환경 변수 또는 볼륨 플러그인을 사용하여 Downward API의 정보를 사용할 수 있습니다.
7.5.1. Downward API를 사용하여 컨테이너에 Pod 정보 노출 링크 복사링크가 클립보드에 복사되었습니다!
Downward API에는 Pod 이름, 프로젝트, 리소스 값과 같은 정보가 포함됩니다. 컨테이너는 환경 변수 또는 볼륨 플러그인을 사용하여 Downward API의 정보를 사용할 수 있습니다.
Pod 내 필드는 FieldRef
API 유형을 사용하여 선택합니다. FieldRef
에는 두 개의 필드가 있습니다.
필드 | 설명 |
---|---|
| Pod와 관련하여 선택할 필드의 경로입니다. |
|
|
현재 v1 API에서 유효한 선택기는 다음과 같습니다.
선택기 | 설명 |
---|---|
| Pod의 이름입니다. 이는 환경 변수와 볼륨 모두에서 지원됩니다. |
| Pod의 네임스페이스입니다. 환경 변수와 볼륨 모두에서 지원됩니다. |
| Pod의 라벨입니다. 볼륨에서만 지원되며 환경 변수에서는 지원되지 않습니다. |
| Pod의 주석입니다. 볼륨에서만 지원되며 환경 변수에서는 지원되지 않습니다. |
| Pod의 IP입니다. 환경 변수에서만 지원되며 볼륨에서는 지원되지 않습니다. |
apiVersion
필드가 지정되지 않은 경우 기본값은 포함된 Pod 템플릿의 API 버전입니다.
7.5.2. Downward API를 사용하여 컨테이너 값을 사용하는 방법 이해 링크 복사링크가 클립보드에 복사되었습니다!
컨테이너는 환경 변수 또는 볼륨 플러그인을 사용하여 API 값을 사용할 수 있습니다. 선택하는 메서드에 따라 컨테이너에서 다음을 사용할 수 있습니다.
- Pod 이름
- Pod 프로젝트/네임스페이스
- Pod 주석
- Pod 라벨
볼륨 플러그인만 사용하여 주석 및 레이블을 사용할 수 있습니다.
7.5.2.1. 환경 변수를 사용하여 컨테이너 값 사용 링크 복사링크가 클립보드에 복사되었습니다!
컨테이너의 환경 변수를 사용할 때는 변수 값을 value
필드에서 지정하는 리터럴 값 대신 FieldRef
소스에서 제공하도록 EnvVar
유형의 valueFrom
필드(EnvVarSource
유형)를 사용합니다.
프로세스에 변수 값이 변경되었음을 알리는 방식으로 프로세스를 시작한 후에는 환경 변수를 업데이트할 수 없으므로 Pod의 상수 특성만 이러한 방식으로 사용할 수 있습니다. 환경 변수를 사용하여 지원되는 필드는 다음과 같습니다.
- Pod 이름
- Pod 프로젝트/네임스페이스
프로세스
컨테이너에서 사용할 환경 변수가 포함된 새 Pod 사양을 생성합니다.
다음과 유사한
pod.yaml
파일을 생성합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow pod.yaml
파일에서 Pod를 생성합니다.oc create -f pod.yaml
$ oc create -f pod.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
검증
컨테이너의 로그에
MY_POD_NAME
및MY_POD_NAMESPACE
값이 있는지 확인합니다.oc logs -p dapi-env-test-pod
$ oc logs -p dapi-env-test-pod
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
7.5.2.2. 볼륨 플러그인을 사용하여 컨테이너 값 사용 링크 복사링크가 클립보드에 복사되었습니다!
컨테이너는 볼륨 플러그인을 사용하여 API 값을 사용할 수 있습니다.
컨테이너는 다음을 사용할 수 있습니다.
- Pod 이름
- Pod 프로젝트/네임스페이스
- Pod 주석
- Pod 라벨
프로세스
볼륨 플러그인을 사용하려면 다음을 수행합니다.
컨테이너에서 사용할 환경 변수가 포함된 새 Pod 사양을 생성합니다.
다음과 유사한
volume-pod.yaml
파일을 생성합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow volume-pod.yaml
파일에서 Pod를 생성합니다.oc create -f volume-pod.yaml
$ oc create -f volume-pod.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
검증
컨테이너의 로그를 확인하고 구성된 필드가 있는지 확인합니다.
oc logs -p dapi-volume-test-pod
$ oc logs -p dapi-volume-test-pod
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
7.5.3. Downward API를 사용하여 컨테이너 리소스를 사용하는 방법 이해 링크 복사링크가 클립보드에 복사되었습니다!
Pod를 생성할 때 이미지 및 애플리케이션 작성자가 특정 환경에 대한 이미지를 올바르게 생성할 수 있도록 Downward API를 사용하여 컴퓨팅 리소스 요청 및 제한에 대한 정보를 삽입할 수 있습니다.
환경 변수 또는 볼륨 플러그인을 사용하여 이 작업을 수행할 수 있습니다.
7.5.3.1. 환경 변수를 사용하여 컨테이너 리소스 사용 링크 복사링크가 클립보드에 복사되었습니다!
Pod를 생성할 때는 Downward API에서 환경 변수를 사용하여 컴퓨팅 리소스 요청 및 제한에 대한 정보를 삽입할 수 있습니다.
Pod 구성을 생성할 때 spec.container
필드의 resources
필드에 해당하는 환경 변수를 지정합니다.
리소스 제한이 컨테이너 구성에 포함되지 않은 경우 Downward API의 기본값은 노드의 CPU 및 메모리 할당 가능 값으로 설정됩니다.
프로세스
삽입할 리소스가 포함된 새 Pod 사양을 생성합니다.
다음과 유사한
pod.yaml
파일을 생성합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow pod.yaml
파일에서 Pod를 생성합니다.oc create -f pod.yaml
$ oc create -f pod.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
7.5.3.2. 볼륨 플러그인을 사용하여 컨테이너 리소스 사용 링크 복사링크가 클립보드에 복사되었습니다!
Pod를 생성할 때 Downward API를 사용하여 볼륨 플러그인을 사용하여 컴퓨팅 리소스 요청 및 제한에 대한 정보를 삽입할 수 있습니다.
Pod 구성을 생성할 때 spec.volumes.downwardAPI.items
필드를 사용하여 spec.resources
필드에 해당하는 원하는 리소스를 설명합니다.
리소스 제한이 컨테이너 구성에 포함되지 않은 경우 Downward API의 기본값은 노드의 CPU 및 메모리 할당 가능 값으로 설정됩니다.
프로세스
삽입할 리소스가 포함된 새 Pod 사양을 생성합니다.
다음과 유사한
pod.yaml
파일을 생성합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow volume-pod.yaml
파일에서 Pod를 생성합니다.oc create -f volume-pod.yaml
$ oc create -f volume-pod.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
7.5.4. Downward API를 사용하여 보안 사용 링크 복사링크가 클립보드에 복사되었습니다!
Pod를 생성할 때 이미지 및 애플리케이션 작성자가 특정 환경에 대한 이미지를 생성할 수 있도록 Downward API를 사용하여 보안을 삽입할 수 있습니다.
프로세스
삽입할 시크릿을 생성합니다.
다음과 유사한
secret.yaml
파일을 생성합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow secret.yaml
파일에서 보안 오브젝트를 생성합니다.oc create -f secret.yaml
$ oc create -f secret.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
위
Secret
오브젝트의username
필드를 참조하는 Pod를 생성합니다.다음과 유사한
pod.yaml
파일을 생성합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow pod.yaml
파일에서 Pod를 생성합니다.oc create -f pod.yaml
$ oc create -f pod.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
검증
컨테이너의 로그에
MY_SECRET_USERNAME
값이 있는지 확인합니다.oc logs -p dapi-env-test-pod
$ oc logs -p dapi-env-test-pod
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
7.5.5. Downward API를 사용하여 구성 맵 사용 링크 복사링크가 클립보드에 복사되었습니다!
Pod를 생성할 때 이미지 및 애플리케이션 작성자가 특정 환경에 대한 이미지를 생성할 수 있도록 Downward API를 사용하여 구성 맵 값을 삽입할 수 있습니다.
프로세스
삽입할 값으로 구성 맵을 생성합니다.
다음과 유사한
configmap.yaml
파일을 생성합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow configmap.yaml
파일에서 구성 맵을 생성합니다.oc create -f configmap.yaml
$ oc create -f configmap.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
위 구성 맵을 참조하는 Pod를 생성합니다.
다음과 유사한
pod.yaml
파일을 생성합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow pod.yaml
파일에서 Pod를 생성합니다.oc create -f pod.yaml
$ oc create -f pod.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
검증
컨테이너의 로그에
MY_CONFIGMAP_VALUE
값이 있는지 확인합니다.oc logs -p dapi-env-test-pod
$ oc logs -p dapi-env-test-pod
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
7.5.6. 환경 변수 참조 링크 복사링크가 클립보드에 복사되었습니다!
Pod를 생성할 때 $()
구문을 사용하여 이전에 정의한 환경 변수의 값을 참조할 수 있습니다. 환경 변수 참조를 확인할 수 없는 경우에는 값이 제공된 문자열로 그대로 유지됩니다.
프로세스
기존 환경 변수를 참조하는 Pod를 생성합니다.
다음과 유사한
pod.yaml
파일을 생성합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow pod.yaml
파일에서 Pod를 생성합니다.oc create -f pod.yaml
$ oc create -f pod.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
검증
컨테이너의 로그에
MY_ENV_VAR_REF_ENV
값이 있는지 확인합니다.oc logs -p dapi-env-test-pod
$ oc logs -p dapi-env-test-pod
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
7.5.7. 환경 변수 참조 이스케이프 링크 복사링크가 클립보드에 복사되었습니다!
Pod를 생성할 때 이중 달러 기호를 사용하여 환경 변수 참조를 이스케이프할 수 있습니다. 그러면 해당 값이 제공된 값의 단일 달러 기호 버전으로 설정됩니다.
프로세스
기존 환경 변수를 참조하는 Pod를 생성합니다.
다음과 유사한
pod.yaml
파일을 생성합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow pod.yaml
파일에서 Pod를 생성합니다.oc create -f pod.yaml
$ oc create -f pod.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
검증
컨테이너의 로그에
MY_NEW_ENV
값이 있는지 확인합니다.oc logs -p dapi-env-test-pod
$ oc logs -p dapi-env-test-pod
Copy to Clipboard Copied! Toggle word wrap Toggle overflow