17.2. Quota에서 관리하는 리소스
다음은 할당량으로 관리할 수 있는 컴퓨팅 리소스 및 오브젝트 유형 집합을 설명합니다.
status.phase in (Failed, Succeeded)
이 True인 경우 Pod는 터미널 상태에 있습니다.
리소스 이름 | 설명 |
---|---|
|
터미널이 아닌 상태에서 모든 Pod의 CPU 요청 합계는 이 값을 초과할 수 없습니다. |
|
터미널이 아닌 상태에서 모든 Pod의 메모리 요청 합계는 이 값을 초과할 수 없습니다. |
|
터미널이 아닌 상태에서 모든 Pod의 로컬 임시 스토리지 요청 합계는 이 값을 초과할 수 없습니다. |
|
터미널이 아닌 상태에서 모든 Pod의 CPU 요청 합계는 이 값을 초과할 수 없습니다. |
|
터미널이 아닌 상태에서 모든 Pod의 메모리 요청 합계는 이 값을 초과할 수 없습니다. |
|
터미널이 아닌 상태에서 모든 Pod의 임시 스토리지 요청 합계는 이 값을 초과할 수 없습니다. |
| 터미널이 아닌 상태에서 모든 Pod의 CPU 제한 합계는 이 값을 초과할 수 없습니다. |
| 터미널이 아닌 상태에서 모든 Pod의 메모리 제한 합계는 이 값을 초과할 수 없습니다. |
| 터미널이 아닌 상태에서 모든 Pod의 임시 스토리지 제한 합계는 이 값을 초과할 수 없습니다. 이 리소스는 임시 스토리지 기술 프리뷰를 활성화한 경우에만 사용할 수 있습니다. 이 기능은 기본적으로 비활성화되어 있습니다. |
리소스 이름 | 설명 |
---|---|
| 상태와 관계없이 모든 영구 볼륨 클레임의 스토리지 요청 합계는 이 값을 초과할 수 없습니다. |
| 프로젝트에 존재할 수 있는 총 영구 볼륨 클레임 수입니다. |
| 상태와 관계없이 일치하는 스토리지 클래스가 있는 모든 영구 볼륨 클레임의 스토리지 요청 합계는 이 값을 초과할 수 없습니다. |
| 프로젝트에 존재할 수 있는, 일치하는 스토리지 클래스가 있는 총 영구 볼륨 클레임 수입니다. |
리소스 이름 | 설명 |
---|---|
| 프로젝트에 존재할 수 있는 터미널이 아닌 상태의 총 Pod 수입니다. |
| 프로젝트에 존재할 수 있는 총 복제 컨트롤러 수입니다. |
| 프로젝트에 존재할 수 있는 총 리소스 할당량 수입니다. |
| 프로젝트에 존재할 수 있는 총 서비스 수입니다. |
| 프로젝트에 존재할 수 있는 총 시크릿 수입니다. |
|
프로젝트에 존재할 수 있는 총 |
| 프로젝트에 존재할 수 있는 총 영구 볼륨 클레임 수입니다. |
| 프로젝트에 존재할 수 있는 총 이미지 스트림 수입니다. |
할당량을 생성하는 동안 count/<resource>.<group>
구문을 사용하여 이러한 표준 네임스페이스 리소스 유형에 대한 오브젝트 수 할당량을 구성할 수 있습니다.
oc create quota <name> --hard=count/<resource>.<group>=<quota>
$ oc create quota <name> --hard=count/<resource>.<group>=<quota>
- 1
<resource>
는 리소스 이름이고<group>
은 API 그룹입니다(해당하는 경우). 리소스 및 관련 API 그룹 목록에kubectl api-resources
명령을 사용합니다.
17.2.1. 확장 리소스에 대한 리소스 할당량 설정 링크 복사링크가 클립보드에 복사되었습니다!
확장 리소스에는 리소스 과다 할당이 허용되지 않으므로 할당량의 해당 확장 리소스에 requests
및 limits
를 지정해야 합니다. 현재는 확장 리소스에 접두사 requests.
가 있는 할당량 항목만 허용됩니다. 다음은 GPU 리소스 nvidia.com/gpu
에 대한 리소스 할당량을 설정하는 방법에 대한 예제 시나리오입니다.
프로세스
클러스터의 노드에서 사용 가능한 GPU 수를 결정합니다. 예를 들면 다음과 같습니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이 예에서는 GPU 2개를 사용할 수 있습니다.
네임스페이스
nvidia
에 할당량을 설정합니다. 이 예에서 할당량은1
입니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 할당량을 생성합니다.
oc create -f gpu-quota.yaml
# oc create -f gpu-quota.yaml resourcequota/gpu-quota created
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 네임스페이스에 올바른 할당량이 설정되어 있는지 확인합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 단일 GPU를 요청하는 Pod를 실행합니다.
oc create pod gpu-pod.yaml
# oc create pod gpu-pod.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow Pod가 실행 중인지 확인합니다.
oc get pods
# oc get pods NAME READY STATUS RESTARTS AGE gpu-pod-s46h7 1/1 Running 0 1m
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 할당량
Used
의 카운터가 올바른지 확인합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow nvidia
네임스페이스에서 두 번째 GPU Pod를 생성합니다. 노드에 GPU가 2개 있으므로 기술적으로 가능합니다.oc create -f gpu-pod.yaml
# oc create -f gpu-pod.yaml Error from server (Forbidden): error when creating "gpu-pod.yaml": pods "gpu-pod-f7z2w" is forbidden: exceeded quota: gpu-quota, requested: requests.nvidia.com/gpu=1, used: requests.nvidia.com/gpu=1, limited: requests.nvidia.com/gpu=1
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이 허용되지 않음 오류 메시지는 할당량이 GPU 1개이고 이 Pod에서 할당량을 초과하는 두 번째 GPU를 할당하려고 했기 때문에 예상된 것입니다.