2.11. 할당량 제한이 있는 작업 실행
정의된 할당량 한도 내에서 리소스 할당을 관리하기 위해 Kueue의 Red Hat 빌드를 사용하여 Kubernetes 작업을 실행할 수 있습니다. 이를 통해 예측 가능한 리소스 가용성, 클러스터 안정성, 최적화된 성능을 보장할 수 있습니다.
2.11.1. 사용 가능한 로컬 대기열 식별 링크 복사링크가 클립보드에 복사되었습니다!
대기열에 작업을 제출하기 전에 로컬 대기열의 이름을 찾아야 합니다.
사전 요구 사항
- 클러스터 관리자가 OpenShift Container Platform 클러스터에 Kueue의 Red Hat 빌드를 설치하고 구성했습니다.
-
클러스터 관리자가 귀하에게
kueue-batch-user-role클러스터 역할을 할당했습니다. -
OpenShift CLI(
oc)가 설치되어 있습니다.
프로세스
네임스페이스에서 사용 가능한 로컬 큐를 나열하려면 다음 명령을 실행하세요.
$ oc -n <namespace> get localqueues출력 예
NAME CLUSTERQUEUE PENDING WORKLOADS user-queue cluster-queue 3
2.11.2. Kueue의 Red Hat 빌드로 실행할 작업 정의 링크 복사링크가 클립보드에 복사되었습니다!
Kueue의 Red Hat 빌드로 실행할 작업을 정의할 때 다음 기준을 충족하는지 확인하세요.
-
kueue.x-k8s.io/queue-name레이블을 사용하여 작업을 제출할 로컬 대기열을 지정합니다. - 각 작업 포드에 대한 리소스 요청을 포함합니다.
Kueue의 Red Hat 빌드는 작업을 일시 중단한 다음 리소스를 사용할 수 있게 되면 작업을 시작합니다. Kueue의 Red Hat 빌드는 작업과 일치하는 이름을 가진 Workload 객체로 표현되는 해당 작업 부하를 생성합니다.
사전 요구 사항
- 클러스터 관리자가 OpenShift Container Platform 클러스터에 Kueue의 Red Hat 빌드를 설치하고 구성했습니다.
-
클러스터 관리자가 귀하에게
kueue-batch-user-role클러스터 역할을 할당했습니다. -
OpenShift CLI(
oc)가 설치되어 있습니다. - 작업을 제출할 로컬 대기열의 이름을 식별했습니다.
프로세스
Job객체를 생성합니다.예시 작업
apiVersion: batch/v1 kind: Job1 metadata: generateName: sample-job-2 namespace: my-namespace labels: kueue.x-k8s.io/queue-name: user-queue3 spec: parallelism: 3 completions: 3 template: spec: containers: - name: dummy-job image: registry.k8s.io/e2e-test-images/agnhost:2.53 args: ["entrypoint-tester", "hello", "world"] resources:4 requests: cpu: 1 memory: "200Mi" restartPolicy: Never다음 명령을 실행하여 작업을 실행합니다.
$ oc create -f <filename>.yaml
검증
다음 명령을 실행하고 출력을 관찰하여 생성한 작업에 대해 포드가 실행 중인지 확인하세요.
$ oc get job <job-name>출력 예
NAME STATUS COMPLETIONS DURATION AGE sample-job-sk42x Suspended 0/1 2m12s다음 명령을 실행하고 출력을 관찰하여 해당 작업에 대한 워크로드가 네임스페이스에 생성되었는지 확인하세요.
$ oc -n <namespace> get workloads출력 예
NAME QUEUE RESERVED IN ADMITTED FINISHED AGE job-sample-job-sk42x-77c03 user-queue 3m8s