19.2. QoS 클래스가 보장된 포드 생성
고성능 작업 부하의 경우 QoS(서비스 품질) 클래스가 보장된
Pod를 생성할 수 있습니다. QoS 클래스를 보장하여
Pod를 구성하면 Pod가 지정된 CPU 및 메모리 리소스에 우선적으로 액세스할 수 있습니다.
QoS 클래스가 보장된
포드를 생성하려면 다음 사양을 적용해야 합니다.
- 포드의 각 컨테이너에 대해 메모리 제한 및 메모리 요청 필드에 동일한 값을 설정합니다.
- 포드의 각 컨테이너에 대해 CPU 제한 및 CPU 요청 필드에 동일한 값을 설정합니다.
일반적으로 QoS 클래스가 보장된
포드는 노드에서 추방되지 않습니다. 한 가지 예외는 시스템 데몬이 예약된 리소스를 초과하여 리소스 경합이 발생하는 경우입니다. 이 시나리오에서 kubelet은
노드 안정성을 유지하기 위해 가장 낮은 우선순위의 Pod부터 Pod를 제거할 수 있습니다.
사전 요구 사항
-
cluster-admin
역할의 사용자로 클러스터에 액세스할 수 있어야 합니다. -
OpenShift CLI(
oc
)
프로세스
다음 명령을 실행하여 Pod의 네임스페이스를 생성합니다.
oc create namespace qos-example
$ oc create namespace qos-example
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 이 예에서는
qos-example
네임스페이스를 사용합니다.
출력 예
namespace/qos-example created
namespace/qos-example created
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Pod
리소스를 생성합니다.Pod
리소스를 정의하는 YAML 파일을 생성합니다.qos-example.yaml
파일 예Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 이 예에서는 공개
hello-openshift
이미지를 사용합니다. - 2
- 메모리 제한을 200MB로 설정합니다.
- 3
- CPU 제한을 1 CPU로 설정합니다.
- 4
- 메모리 요청을 200MB로 설정합니다.
- 5
- CPU 요청을 1 CPU로 설정합니다.참고
컨테이너에 메모리 제한을 지정하고 메모리 요청을 지정하지 않으면 OpenShift Container Platform에서 제한과 일치하는 메모리 요청을 자동으로 할당합니다. 마찬가지로 컨테이너의 CPU 제한을 지정하고 CPU 요청을 지정하지 않으면 OpenShift Container Platform에서 제한과 일치하는 CPU 요청을 자동으로 할당합니다.
다음 명령을 실행하여 리소스를 생성합니다.
oc apply -f qos-example.yaml --namespace=qos-example
$ oc apply -f qos-example.yaml --namespace=qos-example
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
pod/qos-demo created
pod/qos-demo created
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
검증
다음 명령을 실행하여 Pod의
qosClass
값을 확인합니다.oc get pod qos-demo --namespace=qos-example --output=yaml | grep qosClass
$ oc get pod qos-demo --namespace=qos-example --output=yaml | grep qosClass
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
qosClass: Guaranteed
qosClass: Guaranteed
Copy to Clipboard Copied! Toggle word wrap Toggle overflow