2.6. 할당량 구성
관리자는 Red Hat build of Kue를 사용하여 사용자 워크로드에 대한 리소스 할당 및 시스템 처리량을 최적화하도록 할당량을 구성할 수 있습니다. CPU, 메모리, Pod 및 GPU와 같은 컴퓨팅 리소스에 대한 할당량을 구성할 수 있습니다.
다음 단계를 완료하여 Kue의 Red Hat 빌드에서 할당량을 설정할 수 있습니다.
- 클러스터 큐 구성.
- 리소스 플레이버를 구성합니다.
- 로컬 큐를 구성합니다.
그런 다음 사용자가 워크로드를 로컬 큐에 제출할 수 있습니다.
2.6.1. 클러스터 대기열 구성 링크 복사링크가 클립보드에 복사되었습니다!
클러스터 큐는 CPU, 메모리, Pod와 같은 리소스 풀을 관리하는 ClusterQueue
오브젝트로 표시되는 클러스터 범위 리소스입니다. 클러스터 큐를 사용하여 사용량 제한, 리소스 플레이버 할당량, 사용 순서 및 공정 공유 규칙을 정의할 수 있습니다.
ResourceFlavor
오브젝트도 구성할 때까지 클러스터 큐가 사용할 준비가 되지 않습니다.
사전 요구 사항
- Red Hat build of Kueue Operator가 클러스터에 설치되어 있습니다.
-
클러스터 관리자 권한 또는
kue-batch-admin-role 역할이
있습니다. -
OpenShift CLI(
oc
)가 설치되어 있습니다.
프로세스
YAML 파일로
ClusterQueue
오브젝트를 생성합니다.단일 리소스 플레이버를 사용하는 기본
ClusterQueue
오브젝트의 예Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 이 클러스터 큐에서 관리하는 리소스를 사용할 수 있는 네임스페이스를 정의합니다. 예에 표시된 대로 빈
namespaceSelector
는 모든 네임스페이스에서 이러한 리소스를 사용할 수 있음을 의미합니다. - 2
- 클러스터 큐에서 관리하는 리소스 유형을 정의합니다. 이 예제
ClusterQueue
오브젝트는 CPU, 메모리, Pod 및 GPU 리소스를 관리합니다. - 3
- 나열된 리소스 유형에 적용되는 resource 플레이버를 정의합니다. 이 예에서는
default-flavor
리소스 플레이버가 CPU, 메모리, Pod 및 GPU 리소스에 적용됩니다. - 4
- 작업 허용을 위한 리소스 요구 사항을 정의합니다. 이 예제 클러스터 대기열에서는 다음 조건이 충족되는 경우에만 작업을 허용합니다.
- CPU 요청 합계는 9보다 작거나 같습니다.
- 메모리 요청 합계는 36Gi보다 작거나 같습니다.
- 총 Pod 수는 5보다 작거나 같습니다.
- GPU 요청 합계는 100보다 작거나 같습니다.
다음 명령을 실행하여
ClusterQueue
오브젝트를 적용합니다.oc apply -f <filename>.yaml
$ oc apply -f <filename>.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
2.6.2. 리소스 플레이버 구성 링크 복사링크가 클립보드에 복사되었습니다!
ClusterQueue
오브젝트를 구성한 후 ResourceFlavor
오브젝트를 구성할 수 있습니다.
클러스터의 리소스는 일반적으로 동질적이지 않습니다. 클러스터의 리소스가 동질적인 경우 사용자 지정 리소스 플레이버에 라벨을 추가하는 대신 빈 ResourceFlavor
를 사용할 수 있습니다.
사용자 지정 ResourceFlavor
오브젝트를 사용하여 라벨, 테인트 및 허용 오차를 통해 클러스터 노드와 관련된 다양한 리소스 변형을 나타낼 수 있습니다. 그런 다음 워크로드를 특정 노드 유형과 연결하여 세분화된 리소스 관리를 활성화할 수 있습니다.
사전 요구 사항
- Red Hat build of Kueue Operator가 클러스터에 설치되어 있습니다.
-
클러스터 관리자 권한 또는
kue-batch-admin-role 역할이
있습니다. -
OpenShift CLI(
oc
)가 설치되어 있습니다.
프로세스
ResourceFlavor
오브젝트를 YAML 파일로 생성합니다.빈
ResourceFlavor
오브젝트의 예apiVersion: kueue.x-k8s.io/v1beta1 kind: ResourceFlavor metadata: name: default-flavor
apiVersion: kueue.x-k8s.io/v1beta1 kind: ResourceFlavor metadata: name: default-flavor
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 사용자 정의
ResourceFlavor
오브젝트의 예Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여
ResourceFlavor
오브젝트를 적용합니다.oc apply -f <filename>.yaml
$ oc apply -f <filename>.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
2.6.3. 로컬 대기열 구성 링크 복사링크가 클립보드에 복사되었습니다!
로컬 큐는 LocalQueue
오브젝트로 표시되는 네임스페이스가 지정된 오브젝트로, 단일 네임스페이스에 속하는 밀접하게 관련된 워크로드를 그룹화합니다.
관리자는 클러스터 큐를 가리키도록 LocalQueue
오브젝트를 구성할 수 있습니다. 이렇게 하면 클러스터 대기열의 리소스가 LocalQueue
오브젝트에 지정된 네임스페이스의 워크로드에 할당됩니다.
사전 요구 사항
- Red Hat build of Kueue Operator가 클러스터에 설치되어 있습니다.
-
클러스터 관리자 권한 또는
kue-batch-admin-role 역할이
있습니다. -
OpenShift CLI(
oc
)가 설치되어 있습니다. -
ClusterQueue
오브젝트를 생성했습니다.
프로세스
LocalQueue
오브젝트를 YAML 파일로 생성합니다.기본
LocalQueue
오브젝트의 예Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여
LocalQueue
오브젝트를 적용합니다.oc apply -f <filename>.yaml
$ oc apply -f <filename>.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
2.6.4. 기본 로컬 대기열 구성 링크 복사링크가 클립보드에 복사되었습니다!
클러스터 관리자는 각 작업에 명시적으로 레이블을 지정하지 않고도 선택한 네임스페이스의 모든 작업을 관리하여 클러스터의 할당량 적용 기능을 개선할 수 있습니다. 기본 로컬 큐를 생성하여 이 작업을 수행할 수 있습니다.
기본 로컬 대기열은 kue.x-k8s.io/queue-name
레이블이 없는 새로 생성된 작업의 로컬 큐 역할을 합니다. 기본 로컬 큐를 생성한 후 kue.x-k8s.io/queue-name 레이블이 없는 네임스페이스에서 생성된 새 작업은
라벨을 갖도록 자동으로 업데이트됩니다.
kue.x-
k8s.io/queue-name: default
기본 로컬 큐를 생성할 때 네임스페이스의 기존 작업은 영향을 받지 않습니다. 기본 로컬 큐를 생성하기 전에 작업이 네임스페이스에 이미 있는 경우 해당 작업에 명시적으로 라벨을 지정하여 큐에 할당해야 합니다.
사전 요구 사항
- Red Hat build of Kueue 버전 1.1을 클러스터에 설치했습니다.
-
클러스터 관리자 권한 또는
kue-batch-admin-role 역할이
있습니다. -
OpenShift CLI(
oc
)가 설치되어 있습니다. -
ClusterQueue
오브젝트를 생성했습니다.
프로세스
default
라는LocalQueue
오브젝트를 YAML 파일로 생성합니다.기본
LocalQueue
오브젝트의 예Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여
LocalQueue
오브젝트를 적용합니다.oc apply -f <filename>.yaml
$ oc apply -f <filename>.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
검증
- 기본 로컬 큐와 동일한 네임스페이스에 작업을 생성합니다.
-
kue.x-k8s.io/queue-name: default
라벨을 사용하여 작업이 업데이트되는지 확인합니다.