6장. 동적 가속기 슬라이서(DAS) 연산자


중요

Dynamic Accelerator Slicer Operator는 기술 미리 보기 기능일 뿐입니다. 기술 프리뷰 기능은 Red Hat 프로덕션 서비스 수준 계약(SLA)에서 지원되지 않으며 기능적으로 완전하지 않을 수 있습니다. 따라서 프로덕션 환경에서 사용하는 것은 권장하지 않습니다. 이러한 기능을 사용하면 향후 제품 기능을 조기에 이용할 수 있어 개발 과정에서 고객이 기능을 테스트하고 피드백을 제공할 수 있습니다.

Red Hat 기술 프리뷰 기능의 지원 범위에 대한 자세한 내용은 기술 프리뷰 기능 지원 범위를 참조하십시오.

DAS(Dynamic Accelerator Slicer) 연산자를 사용하면 노드가 부팅될 때 정의된 정적으로 슬라이스된 GPU에 의존하지 않고 OpenShift Container Platform에서 GPU 가속기를 동적으로 슬라이스할 수 있습니다. 이를 통해 특정 작업 부하 요구 사항에 따라 GPU를 동적으로 분할하여 효율적인 리소스 활용을 보장할 수 있습니다.

클러스터의 모든 노드에 필요한 가속기 파티션을 모두 미리 알지 못하는 경우 동적 슬라이싱이 유용합니다.

DAS Operator에는 현재 NVIDIA Multi-Instance GPU(MIG)에 대한 참조 구현이 포함되어 있으며, 향후 NVIDIA MPS나 다른 공급업체의 GPU와 같은 추가 기술을 지원하도록 설계되었습니다.

제한

Dynamic Accelerator Slicer Operator를 사용할 때 다음과 같은 제한 사항이 적용됩니다.

  • 잠재적인 비호환성을 파악하고 시스템이 다양한 GPU 드라이버 및 운영 체제에서 원활하게 작동하는지 확인해야 합니다.
  • 이 Operator는 H100 및 A100과 같은 특정 MIG 호환 NVIDIA GPU 및 드라이버에서만 작동합니다.
  • 운영자는 노드의 GPU 중 일부만 사용할 수 없습니다.
  • NVIDIA 장치 플러그인은 Dynamic Accelerator Slicer Operator와 함께 사용하여 클러스터의 GPU 리소스를 관리할 수 없습니다.
참고

DAS Operator는 MIG 지원 GPU와 함께 작동하도록 설계되었습니다. GPU 전체 대신 MIG 슬라이스를 할당합니다. DAS Operator를 설치하면 nvidia.com/gpu: "1" 과 같은 NVIDIA 장치 플러그인을 통한 표준 리소스 요청을 사용하여 전체 GPU를 할당할 수 없습니다.

6.1. 동적 가속기 슬라이서 연산자 설치

클러스터 관리자는 OpenShift Container Platform 웹 콘솔이나 OpenShift CLI를 사용하여 Dynamic Accelerator Slicer(DAS) Operator를 설치할 수 있습니다.

6.1.1. 웹 콘솔을 사용하여 Dynamic Accelerator Slicer Operator 설치

클러스터 관리자는 OpenShift Container Platform 웹 콘솔을 사용하여 Dynamic Accelerator Slicer(DAS) Operator를 설치할 수 있습니다.

사전 요구 사항

  • cluster-admin 권한이 있는 계정을 사용하여 OpenShift Container Platform 클러스터에 액세스할 수 있습니다.
  • 필수 전제 조건을 설치했습니다.

    • cert-manager Operator for Red Hat OpenShift
    • 노드 기능 검색(NFD) 연산자
    • NVIDIA GPU 운영자
    • NodeFeatureDiscovery CR

프로세스

  1. MIG 지원을 위해 NVIDIA GPU Operator를 구성하세요.

    1. OpenShift Container Platform 웹 콘솔에서 Operator 설치된 Operator로 이동합니다.
    2. 설치된 연산자 목록에서 NVIDIA GPU Operator를 선택합니다.
    3. ClusterPolicy 탭을 클릭한 다음 ClusterPolicy 만들기를 클릭합니다.
    4. YAML 편집기에서 기본 콘텐츠를 다음 클러스터 정책 구성으로 바꿔 기본 NVIDIA 장치 플러그인을 비활성화하고 MIG 지원을 활성화합니다.

      apiVersion: nvidia.com/v1
      kind: ClusterPolicy
      metadata:
        name: gpu-cluster-policy
      spec:
        daemonsets:
          rollingUpdate:
            maxUnavailable: "1"
          updateStrategy: RollingUpdate
        dcgm:
          enabled: true
        dcgmExporter:
          config:
            name: ""
          enabled: true
          serviceMonitor:
            enabled: true
        devicePlugin:
          config:
            default: ""
            name: ""
          enabled: false
          mps:
            root: /run/nvidia/mps
        driver:
          certConfig:
            name: ""
          enabled: true
          kernelModuleConfig:
            name: ""
          licensingConfig:
            configMapName: ""
            nlsEnabled: true
          repoConfig:
            configMapName: ""
          upgradePolicy:
            autoUpgrade: true
            drain:
              deleteEmptyDir: false
              enable: false
              force: false
              timeoutSeconds: 300
            maxParallelUpgrades: 1
            maxUnavailable: 25%
            podDeletion:
              deleteEmptyDir: false
              force: false
              timeoutSeconds: 300
            waitForCompletion:
              timeoutSeconds: 0
          useNvidiaDriverCRD: false
          useOpenKernelModules: false
          virtualTopology:
            config: ""
        gdrcopy:
          enabled: false
        gds:
          enabled: false
        gfd:
          enabled: true
        mig:
          strategy: mixed
        migManager:
          config:
            default: ""
            name: default-mig-parted-config
          enabled: true
          env:
            - name: WITH_REBOOT
              value: 'true'
            - name: MIG_PARTED_MODE_CHANGE_ONLY
              value: 'true'
        nodeStatusExporter:
          enabled: true
        operator:
          defaultRuntime: crio
          initContainer: {}
          runtimeClass: nvidia
          use_ocp_driver_toolkit: true
        sandboxDevicePlugin:
          enabled: true
        sandboxWorkloads:
          defaultWorkload: container
          enabled: false
        toolkit:
          enabled: true
          installDir: /usr/local/nvidia
        validator:
          plugin:
            env:
            - name: WITH_WORKLOAD
              value: "false"
          cuda:
            env:
            - name: WITH_WORKLOAD
              value: "false"
        vfioManager:
          enabled: true
        vgpuDeviceManager:
          enabled: true
        vgpuManager:
          enabled: false
      Copy to Clipboard Toggle word wrap
    5. 클러스터 정책을 적용하려면 만들기를 클릭합니다.
    6. 워크로드 Pod 로 이동하여 nvidia-gpu-operator 네임스페이스를 선택하여 클러스터 정책 배포를 모니터링합니다.
    7. NVIDIA GPU Operator 클러스터 정책이 준비 상태에 도달할 때까지 기다리세요. 다음을 통해 모니터링할 수 있습니다.

      1. Operators Installed Operators NVIDIA GPU Operator 로 이동합니다.
      2. ClusterPolicy 탭을 클릭하고 상태가 준비로 표시되는지 확인합니다.
    8. nvidia-gpu-operator 네임스페이스를 선택하고 워크로드 포드 로 이동하여 NVIDIA GPU Operator 네임스페이스의 모든 포드가 실행 중인지 확인합니다.
    9. MIG 모드를 활성화하려면 MIG 지원 GPU가 있는 노드에 레이블을 지정하세요.

      1. 컴퓨팅 노드로 이동합니다.
      2. MIG 지원 GPU가 있는 노드를 선택하세요.
      3. 작업 라벨 편집을 클릭합니다.
      4. nvidia.com/mig.config=all-enabled 라벨을 추가합니다.
      5. 저장을 클릭합니다.
      6. MIG 지원 GPU가 있는 각 노드에 대해 반복합니다.

        중요

        MIG 레이블을 적용하면 레이블이 지정된 노드가 재부팅되어 MIG 모드가 활성화됩니다. 계속하기 전에 노드가 다시 온라인 상태가 될 때까지 기다리세요.

    10. nvidia.com/mig.config=all-enabled 레이블이 레이블 섹션에 나타나는지 확인하여 GPU 노드에서 MIG 모드가 성공적으로 활성화되었는지 확인합니다. 레이블을 찾으려면 컴퓨팅 노드 로 이동하여 GPU 노드를 선택하고 세부 정보 탭을 클릭합니다.
  2. OpenShift Container Platform 웹 콘솔에서 Operator OperatorHub를 클릭합니다.
  3. 필터 상자에서 Dynamic Accelerator Slicer 또는 DAS 를 검색하여 DAS 운영자를 찾으세요.
  4. Dynamic Accelerator Slicer를 선택하고 설치를 클릭합니다.
  5. Operator 설치 페이지에서 다음을 수행합니다.

    1. 설치 모드로 클러스터의 모든 네임스페이스(기본값)를 선택합니다.
    2. 설치된 네임스페이스 운영자 권장 네임스페이스: 프로젝트 das-operator를 선택합니다.
    3. 새로운 네임스페이스를 생성하는 경우 네임스페이스 이름으로 das-operator를 입력합니다.
    4. 업데이트 채널을 선택하세요.
    5. 승인 전략에 대해 자동 또는 수동을 선택합니다.
  6. 설치를 클릭합니다.
  7. OpenShift Container Platform 웹 콘솔에서 Operator 설치된 Operator를 클릭합니다.
  8. 목록에서 DAS 운영자를 선택하세요.
  9. 제공된 API 테이블 열에서 DASOperator를 클릭합니다. 이렇게 하면 운영자 세부 정보 페이지의 DASOperator 탭으로 이동합니다.
  10. DASOperator 만들기를 클릭합니다. 이렇게 하면 Create DASOperator YAML 뷰로 이동합니다.
  11. YAML 편집기에서 다음 예를 붙여넣습니다.

    예제 DASOperator CR

    apiVersion: inference.redhat.com/v1alpha1
    kind: DASOperator
    metadata:
      name: cluster 
    1
    
      namespace: das-operator
    spec:
      logLevel: Normal
      operatorLogLevel: Normal
      managementState: Managed
    Copy to Clipboard Toggle word wrap

    1
    DASOperator CR의 이름은 cluster 여야 합니다.
  12. 생성을 클릭합니다.

검증

DAS Operator가 성공적으로 설치되었는지 확인하려면:

  1. Operator 설치된 Operator 페이지로 이동합니다.
  2. Dynamic Accelerator Slicer가 Succeeded 상태das-operator 네임스페이스에 나열되어 있는지 확인하세요.

DASOperator CR이 성공적으로 설치되었는지 확인하려면:

  • DASOperator CR을 생성하면 웹 콘솔에서 DASOperator 목록 보기 로 이동합니다. 모든 구성 요소가 실행되면 CR의 상태 필드가 사용 가능 으로 변경됩니다.
  • 선택 사항입니다. OpenShift CLI에서 다음 명령을 실행하여 DASOperator CR이 성공적으로 설치되었는지 확인할 수 있습니다.

    $ oc get dasoperator -n das-operator
    Copy to Clipboard Toggle word wrap

    출력 예

    NAME     	STATUS    	AGE
    cluster  	Available	3m
    Copy to Clipboard Toggle word wrap

참고

설치 중에 Operator는 실패 상태를 표시할 수 있습니다. 나중에 설치가 성공하여 '성공' 메시지가 표시되면 '실패' 메시지는 무시해도 됩니다.

또한 포드를 확인하여 설치를 확인할 수 있습니다.

  1. 워크로드 Pod 페이지로 이동하여 das-operator 네임스페이스를 선택합니다.
  2. 모든 DAS Operator 구성 요소 포드가 실행 중인지 확인하세요.

    • das-operator 포드(주 운영자 컨트롤러)
    • das-operator-webhook 포드(웹훅 서버)
    • das-scheduler pod(스케줄러 플러그인)
    • das-daemonset 포드(MIG 호환 GPU가 있는 노드에서만)
참고

das-daemonset 포드는 MIG 호환 GPU 하드웨어가 있는 노드에만 나타납니다. 데몬셋 포드가 보이지 않으면 클러스터에 지원되는 GPU 하드웨어가 있는 노드가 있는지, NVIDIA GPU Operator가 올바르게 구성되었는지 확인하세요.

문제 해결

Operator가 설치되어 있지 않은 경우 다음 절차를 따르세요.

  1. Operator 설치된 Operator 페이지로 이동하고 Operator 서브스크립션설치 계획 탭의 상태에 장애나 오류가 있는지 검사합니다.
  2. 워크로드 포드 페이지로 이동하여 das-operator 네임스페이스의 포드 로그를 확인합니다.

6.1.2. CLI를 사용하여 Dynamic Accelerator Slicer Operator 설치

클러스터 관리자는 OpenShift CLI를 사용하여 DAS(Dynamic Accelerator Slicer) Operator를 설치할 수 있습니다.

사전 요구 사항

  • cluster-admin 권한이 있는 계정을 사용하여 OpenShift Container Platform 클러스터에 액세스할 수 있습니다.
  • OpenShift CLI(oc)가 설치되어 있습니다.
  • 필수 전제 조건을 설치했습니다.

    • cert-manager Operator for Red Hat OpenShift
    • 노드 기능 검색(NFD) 연산자
    • NVIDIA GPU 운영자
    • NodeFeatureDiscovery CR

프로세스

  1. MIG 지원을 위해 NVIDIA GPU Operator를 구성하세요.

    1. 다음 클러스터 정책을 적용하여 기본 NVIDIA 장치 플러그인을 비활성화하고 MIG 지원을 활성화합니다. 다음 내용으로 gpu-cluster-policy.yaml 이라는 파일을 만듭니다.

      apiVersion: nvidia.com/v1
      kind: ClusterPolicy
      metadata:
        name: gpu-cluster-policy
      spec:
        daemonsets:
          rollingUpdate:
            maxUnavailable: "1"
          updateStrategy: RollingUpdate
        dcgm:
          enabled: true
        dcgmExporter:
          config:
            name: ""
          enabled: true
          serviceMonitor:
            enabled: true
        devicePlugin:
          config:
            default: ""
            name: ""
          enabled: false
          mps:
            root: /run/nvidia/mps
        driver:
          certConfig:
            name: ""
          enabled: true
          kernelModuleConfig:
            name: ""
          licensingConfig:
            configMapName: ""
            nlsEnabled: true
          repoConfig:
            configMapName: ""
          upgradePolicy:
            autoUpgrade: true
            drain:
              deleteEmptyDir: false
              enable: false
              force: false
              timeoutSeconds: 300
            maxParallelUpgrades: 1
            maxUnavailable: 25%
            podDeletion:
              deleteEmptyDir: false
              force: false
              timeoutSeconds: 300
            waitForCompletion:
              timeoutSeconds: 0
          useNvidiaDriverCRD: false
          useOpenKernelModules: false
          virtualTopology:
            config: ""
        gdrcopy:
          enabled: false
        gds:
          enabled: false
        gfd:
          enabled: true
        mig:
          strategy: mixed
        migManager:
          config:
            default: ""
            name: default-mig-parted-config
          enabled: true
          env:
            - name: WITH_REBOOT
              value: 'true'
            - name: MIG_PARTED_MODE_CHANGE_ONLY
              value: 'true'
        nodeStatusExporter:
          enabled: true
        operator:
          defaultRuntime: crio
          initContainer: {}
          runtimeClass: nvidia
          use_ocp_driver_toolkit: true
        sandboxDevicePlugin:
          enabled: true
        sandboxWorkloads:
          defaultWorkload: container
          enabled: false
        toolkit:
          enabled: true
          installDir: /usr/local/nvidia
        validator:
          plugin:
            env:
            - name: WITH_WORKLOAD
              value: "false"
          cuda:
            env:
            - name: WITH_WORKLOAD
              value: "false"
        vfioManager:
          enabled: true
        vgpuDeviceManager:
          enabled: true
        vgpuManager:
          enabled: false
      Copy to Clipboard Toggle word wrap
    2. 다음 명령을 실행하여 클러스터 정책을 적용합니다.

      $ oc apply -f gpu-cluster-policy.yaml
      Copy to Clipboard Toggle word wrap
    3. 다음 명령을 실행하여 NVIDIA GPU Operator 클러스터 정책이 준비 상태에 도달했는지 확인하세요.

      $ oc get clusterpolicies.nvidia.com gpu-cluster-policy -w
      Copy to Clipboard Toggle word wrap

      STATUS 열에 '준비'가 표시될 때까지 기다리세요.

      출력 예

      NAME                 STATUS   AGE
      gpu-cluster-policy   ready    2025-08-14T08:56:45Z
      Copy to Clipboard Toggle word wrap

    4. 다음 명령을 실행하여 NVIDIA GPU Operator 네임스페이스의 모든 포드가 실행 중인지 확인하세요.

      $ oc get pods -n nvidia-gpu-operator
      Copy to Clipboard Toggle word wrap

      모든 포드는 실행 중 또는 완료 상태를 표시해야 합니다.

    5. 다음 명령을 실행하여 MIG 모드를 활성화하려면 MIG 지원 GPU가 있는 노드에 레이블을 지정합니다.

      $ oc label node $NODE_NAME nvidia.com/mig.config=all-enabled --overwrite
      Copy to Clipboard Toggle word wrap

      $NODE_NAME을 MIG 지원 GPU가 있는 각 노드의 이름으로 바꾸세요.

      중요

      MIG 레이블을 적용한 후 레이블이 지정된 노드가 재부팅되어 MIG 모드가 활성화됩니다. 계속하기 전에 노드가 다시 온라인 상태가 될 때까지 기다리세요.

    6. 다음 명령을 실행하여 노드가 MIG 모드를 성공적으로 활성화했는지 확인하세요.

      $ oc get nodes -l nvidia.com/mig.config=all-enabled
      Copy to Clipboard Toggle word wrap
  2. DAS 운영자를 위한 네임스페이스를 만듭니다.

    1. das-operator 네임스페이스를 정의하는 다음 네임스페이스 사용자 정의 리소스(CR)를 만들고 YAML을 das-namespace.yaml 파일에 저장합니다.

      apiVersion: v1
      kind: Namespace
      metadata:
        name: das-operator
        labels:
          name: das-operator
          openshift.io/cluster-monitoring: "true"
      Copy to Clipboard Toggle word wrap
    2. 다음 명령을 실행하여 네임스페이스를 생성합니다.

      $ oc create -f das-namespace.yaml
      Copy to Clipboard Toggle word wrap
  3. 이전 단계에서 만든 네임스페이스에 DAS Operator를 설치하려면 다음 객체를 만듭니다.

    1. 다음 OperatorGroup CR을 만들고 das-operatorgroup.yaml 파일에 YAML을 저장합니다.

      apiVersion: operators.coreos.com/v1
      kind: OperatorGroup
      metadata:
        generateName: das-operator-
        name: das-operator
        namespace: das-operator
      Copy to Clipboard Toggle word wrap
    2. 다음 명령을 실행하여 OperatorGroup CR을 생성합니다.

      $ oc create -f das-operatorgroup.yaml
      Copy to Clipboard Toggle word wrap
    3. 다음 구독 CR을 만들고 das-sub.yaml 파일에 YAML을 저장합니다.

      서브스크립션의 예

      apiVersion: operators.coreos.com/v1alpha1
      kind: Subscription
      metadata:
        name: das-operator
        namespace: das-operator
      spec:
        channel: "stable"
        installPlanApproval: Automatic
        name: das-operator
        source: redhat-operators
        sourceNamespace: openshift-marketplace
      Copy to Clipboard Toggle word wrap

    4. 다음 명령을 실행하여 서브스크립션 오브젝트를 생성합니다.

      $ oc create -f das-sub.yaml
      Copy to Clipboard Toggle word wrap
    5. das-operator 프로젝트 변경:

      $ oc project das-operator
      Copy to Clipboard Toggle word wrap
    6. 다음 DASOperator CR을 만들고 das-dasoperator.yaml 파일에 YAML을 저장합니다.

      예제 DASOperator CR

      apiVersion: inference.redhat.com/v1alpha1
      kind: DASOperator
      metadata:
        name: cluster 
      1
      
        namespace: das-operator
      spec:
        managementState: Managed
        logLevel: Normal
        operatorLogLevel: Normal
      Copy to Clipboard Toggle word wrap

      1
      DASOperator CR의 이름은 cluster 여야 합니다.
    7. 다음 명령을 실행하여 dasoperator CR을 만듭니다.

      oc create -f das-dasoperator.yaml
      Copy to Clipboard Toggle word wrap

검증

  • 다음 명령을 실행하여 Operator 배포가 성공적으로 완료되었는지 확인하세요.

    $ oc get pods
    Copy to Clipboard Toggle word wrap

    출력 예

    NAME                                    READY   STATUS    RESTARTS   AGE
    das-daemonset-6rsfd                     1/1     Running   0          5m16s
    das-daemonset-8qzgf                     1/1     Running   0          5m16s
    das-operator-5946478b47-cjfcp           1/1     Running   0          5m18s
    das-operator-5946478b47-npwmn           1/1     Running   0          5m18s
    das-operator-webhook-59949d4f85-5n9qt   1/1     Running   0          68s
    das-operator-webhook-59949d4f85-nbtdl   1/1     Running   0          68s
    das-scheduler-6cc59dbf96-4r85f          1/1     Running   0          68s
    das-scheduler-6cc59dbf96-bf6ml          1/1     Running   0          68s
    Copy to Clipboard Toggle word wrap

    배포가 성공하면 모든 Pod가 실행 중 상태인 것으로 표시됩니다. 배포에는 다음이 포함됩니다.

    das-operator
    메인 오퍼레이터 컨트롤러 포드
    das-operator-webhook
    Pod 요청 변형을 위한 Webhook 서버 Pod
    das-scheduler
    MIG 슬라이스 할당을 위한 스케줄러 플러그인 포드
    das-daemonset

    MIG 호환 GPU가 있는 노드에서만 실행되는 Daemonset 포드

    참고

    das-daemonset 포드는 MIG 호환 GPU 하드웨어가 있는 노드에만 나타납니다. 데몬셋 포드가 보이지 않으면 클러스터에 지원되는 GPU 하드웨어가 있는 노드가 있는지, NVIDIA GPU Operator가 올바르게 구성되었는지 확인하세요.

맨 위로 이동
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다. 최신 업데이트를 확인하세요.

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

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

Red Hat 소개

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

Theme

© 2025 Red Hat