2.10.3. 필요에 따라 보류 중인 워크로드 모니터링


보류 중인 워크로드의 모니터링을 테스트하려면 ClusterQueueLocalQueue 리소스를 올바르게 구성해야 합니다. 그런 다음 해당 LocalQueue 에서 작업을 생성할 수 있습니다. Kueue는 작업에서 생성한 워크로드 오브젝트를 관리하므로 작업이 제출되고 ClusterQueue 를 포화 상태로 전환하면 보류 중인 워크로드 목록에 해당 워크로드를 볼 수 있습니다.

사전 요구 사항

  • 클러스터 관리자 권한이 있어야 합니다.
  • Red Hat build of Kueue Operator가 클러스터에 설치되어 있으며 Kueue CR(사용자 정의 리소스)을 생성했습니다.
  • OpenShift CLI(oc)가 설치되어 있습니다.
  • OpenShift CLI(oc)는 클러스터와 통신합니다.

다음 절차에서는 워크로드 모니터링을 설치 및 테스트하는 방법을 설명합니다.

프로세스

  1. 다음 명령을 실행하여 자산을 생성합니다.

    cat <<EOF| oc create -f -
    ---
    apiVersion: kueue.x-k8s.io/v1beta2
    kind: ResourceFlavor
    metadata:
      name: "default-flavor"
    ---
    apiVersion: kueue.x-k8s.io/v1beta2
    kind: ClusterQueue
    metadata:
      name: "cluster-queue"
    spec:
      namespaceSelector: {} # match all.
      resourceGroups:
      - coveredResources: ["cpu", "memory"]
        flavors:
        - name: "default-flavor"
          resources:
          - name: "cpu"
            nominalQuota: 9
          - name: "memory"
            nominalQuota: 36Gi
    ---
    apiVersion: kueue.x-k8s.io/v1beta2
    kind: LocalQueue
    metadata:
      namespace: "default"
      name: "user-queue"
    spec:
      clusterQueue: "cluster-queue"
    ---
    EOF
  2. 작업 매니페스트를 사용하여 다음 파일을 생성합니다.

    cat >> job.yaml << EOF
    apiVersion: batch/v1
    kind: Job
    metadata:
      generateName: sample-job-
      namespace: default
      labels:
        kueue.x-k8s.io/queue-name: user-queue
    spec:
      parallelism: 3
      completions: 3
      suspend: true
      template:
        spec:
          containers:
          - name: <example-job>
            image: registry.k8s.io/e2e-test-images/agnhost:2.53
            command: [ "/bin/sh" ]
            args: [ "-c", "sleep 60" ]
            resources:
              requests:
                cpu: "1"
                memory: "200Mi"
          restartPolicy: Never
    EOF
  3. 다음 명령을 실행하여 Kue에서 관리할 기본 네임스페이스에 레이블을 지정합니다.

    $ oc label namespace default kueue.openshift.io/managed=true
  4. 다음 명령을 실행하여 6개의 작업을 생성합니다.

    for i in {1..6}; do oc create -f job.yaml; done

    이 예에서는 ClusterQueue 리소스를 포화 상태로 만드는 작업 중 세 개가 보류 중이어야 합니다.

2.10.3.1. ClusterQueue에서 보류 중인 워크로드 보기

클러스터 수준에서 보류 중인 모든 워크로드를 보기 위해 관리자는 Kue의 가시성 API의 ClusterQueue 오브젝트 가시성 끝점을 사용할 수 있습니다. 이 끝점은 해당 ClusterQueue 리소스에서 현재 승인을 기다리는 모든 워크로드 목록을 반환합니다.

프로세스

  1. ClusterQueue 에서 보류 중인 워크로드를 보려면 다음 명령을 실행합니다.

    $ oc get --raw "/apis/visibility.kueue.x-k8s.io/v1beta1/clusterqueues/cluster-queue/pendingworkloads"

    출력 예

    {
      "kind": "PendingWorkloadsSummary",
      "apiVersion": "visibility.kueue.x-k8s.io/v1beta1",
      "metadata": {
        "creationTimestamp": null
      },
      "items": [
        {
          "metadata": {
            "name": "job-sample-job-jrjfr-8d56e",
            "namespace": "default",
            "creationTimestamp": "2023-12-05T15:42:03Z",
            "ownerReferences": [
              {
                "apiVersion": "batch/v1",
                "kind": "Job",
                "name": "sample-job-jrjfr",
                "uid": "5863cf0e-b0e7-43bf-a445-f41fa1abedfa"
              }
            ]
          },
          "priority": 0,
          "localQueueName": "user-queue",
          "positionInClusterQueue": 0,
          "positionInLocalQueue": 0
        },
        {
          "metadata": {
            "name": "job-sample-job-jg9dw-5f1a3",
            "namespace": "default",
            "creationTimestamp": "2023-12-05T15:42:03Z",
            "ownerReferences": [
              {
                "apiVersion": "batch/v1",
                "kind": "Job",
                "name": "sample-job-jg9dw",
                "uid": "fd5d1796-f61d-402f-a4c8-cbda646e2676"
              }
            ]
          },
          "priority": 0,
          "localQueueName": "user-queue",
          "positionInClusterQueue": 1,
          "positionInLocalQueue": 1
        },
        {
          "metadata": {
            "name": "job-sample-job-t9b8m-4e770",
            "namespace": "default",
            "creationTimestamp": "2023-12-05T15:42:03Z",
            "ownerReferences": [
              {
                "apiVersion": "batch/v1",
                "kind": "Job",
                "name": "sample-job-t9b8m",
                "uid": "64c26c73-6334-4d13-a1a8-38d99196baa5"
              }
            ]
          },
          "priority": 0,
          "localQueueName": "user-queue",
          "positionInClusterQueue": 2,
          "positionInLocalQueue": 2
        }
      ]
    }

    다음과 같은 선택적 쿼리 매개변수를 전달할 수 있습니다.

    limit <integer>
    1000은 기본값입니다. 가져와야 하는 보류 중인 최대 워크로드 수를 지정합니다.
    offset <integer>
    0은 기본값입니다. 0부터 시작하여 가져올 첫 번째 보류 중인 워크로드의 위치를 지정합니다.
  2. ClusterQueue 에서 위치 0부터 하나의 보류 중인 워크로드만 보려면 다음 명령을 실행합니다.

    $ oc get --raw "/apis/visibility.kueue.x-k8s.io/v1beta1/clusterqueues/cluster-queue/pendingworkloads?limit=1&offset=0"
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 문서 정보

Legal Notice

Theme

© 2026 Red Hat
맨 위로 이동