11장. DPU Operator
11.1. DPU Operator 링크 복사링크가 클립보드에 복사되었습니다!
클러스터 관리자는 클러스터에 DPU Operator를 추가하여 DPU 장치 및 네트워크 연결을 관리할 수 있습니다.
DPU Operator는 기술 프리뷰 기능 전용입니다. 기술 프리뷰 기능은 Red Hat 프로덕션 서비스 수준 계약(SLA)에서 지원되지 않으며 기능적으로 완전하지 않을 수 있습니다. 따라서 프로덕션 환경에서 사용하는 것은 권장하지 않습니다. 이러한 기능을 사용하면 향후 제품 기능을 조기에 이용할 수 있어 개발 과정에서 고객이 기능을 테스트하고 피드백을 제공할 수 있습니다.
Red Hat 기술 프리뷰 기능의 지원 범위에 대한 자세한 내용은 기술 프리뷰 기능 지원 범위를 참조하십시오.
11.1.1. DPU Operator를 사용하여 DPU 오케스트레이션 링크 복사링크가 클립보드에 복사되었습니다!
DPDK(Data Processing Unit) Operator를 사용하여 호스트 CPU에서 네트워킹, 스토리지 및 보안 워크로드를 오프로드하는 DPU를 관리하여 클러스터 성능 및 효율성을 개선할 수 있습니다.
DPU는 CPU 및 GPU와 함께 컴퓨팅의 세 가지 기본 축약 중 하나를 나타내는 프로그래밍 가능한 프로세서 유형입니다. CPU는 일반 컴퓨팅 작업 및 GPU를 처리하지만 DPU의 주요 역할은 네트워킹, 스토리지 및 보안 기능과 같은 데이터 중심 워크로드를 오프로드하고 가속화하는 것입니다.
DPU는 일반적으로 데이터 센터 및 클라우드 환경에서 성능을 개선하고 대기 시간을 줄이며 CPU에서 이러한 작업을 오프로드하여 보안을 강화합니다. 또한 DPU를 사용하여 데이터 소스에 특수 워크로드를 더 가깝게 배포할 수 있으므로 보다 효율적이고 유연한 인프라를 생성할 수도 있습니다.
DPU Operator는 DPU 장치 및 네트워크 연결을 관리합니다. DPU Operator는 DPU 데몬을 DPU 데몬에서 실행되는 DPU 데몬을 제어하는 API를 통해 연결되는 OpenShift Container Platform 컴퓨팅 노드에 배포합니다. DPU Operator는 ovn-kube 구성 요소의 라이프사이클 관리와 DPU에서 필요한 호스트 네트워크 초기화를 담당합니다.
다음 표에서는 현재 지원되는 DPU 장치를 설명합니다.
| vendor | 장치 | 펌웨어 | 설명 |
|---|---|---|---|
| Intel | IPU E2100 | 버전 2.0.0.11126 이상 | 데이터 센터의 호스트 CPU에서 네트워킹, 스토리지 및 보안 작업을 오프로드하도록 설계된 DPU로, 효율성 및 성능을 향상시킵니다. 완전한 엔드 투 엔드 솔루션을 배포하는 방법에 대한 자세한 내용은 Intel E2100 IPU, DPU Operator 및 F5 NGINX를 사용하여 OpenShift에서 기밀 AI를 가속화하는 Red Hat 지식베이스 솔루션을 참조하십시오. |
| Senao | SX904 | 35.23.47.0008 이상 | 데이터 센터 및 엣지 컴퓨팅 환경의 호스트 CPU에서 컴퓨팅 및 네트워크 서비스를 오프로드하도록 설계된 SmartNIC로, 워크로드의 효율성 및 격리를 개선합니다. |
| Marvell | Marvell Octeon 10 CN106 | SDK12.25.01 이상 | 데이터 센터 및 엣지 컴퓨팅 환경의 호스트 CPU에서 빠른 데이터 처리를 필요로 하는 워크로드를 오프로드하도록 설계된 DPU |
NVIDIA BlueField-3은 지원되지 않습니다.
11.1.2. DPU Operator 설치 링크 복사링크가 클립보드에 복사되었습니다!
호스트 및 DPU 클러스터 모두에 DPDK(Data Processing Unit) Operator를 설치하여 CLI 또는 웹 콘솔을 사용하여 장치 라이프사이클 및 네트워크 연결을 관리할 수 있습니다.
클러스터 관리자는 OpenShift Container Platform CLI 또는 웹 콘솔을 사용하여 호스트 클러스터 및 모든 DPU 클러스터에 DPU Operator를 설치할 수 있습니다. DPU Operator는 지원되는 모든 DPU에 대한 라이프사이클, DPU 장치 및 네트워크 연결을 관리합니다."
호스트 클러스터 및 각 DPU 클러스터에 DPU Operator를 설치해야 합니다.
11.1.2.1. CLI를 사용하여 DPU Operator 설치 링크 복사링크가 클립보드에 복사되었습니다!
CLI를 사용하여 DPU Operator를 설치할 수 있습니다. DPU Operator를 사용하여 호스트 클러스터에서 DPU 장치 관리를 설정할 때 설치 프로세스를 단순화할 수 있습니다.
클러스터 관리자는 CLI를 사용하여 DPU Operator를 설치할 수 있습니다.
CLI는 DPU 클러스터에 DPU Operator를 설치하는 데 사용해야 합니다.
사전 요구 사항
-
OpenShift CLI(
oc)를 설치합니다. -
cluster-admin권한이 있는 계정.
프로세스
다음 명령을 입력하여
openshift-dpu-operator네임스페이스를 생성합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 입력하여
OperatorGroupCR(사용자 정의 리소스)을 생성합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 입력하여 DPU Operator에 대한
서브스크립션CR을 생성합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow
검증
Operator가 설치되었는지 확인하려면 다음 명령을 입력한 다음 출력에 Operator의
Succeeded가 표시되는지 확인합니다.oc get csv -n openshift-dpu-operator \ -o custom-columns=Name:.metadata.name,Phase:.status.phase
$ oc get csv -n openshift-dpu-operator \ -o custom-columns=Name:.metadata.name,Phase:.status.phaseCopy to Clipboard Copied! Toggle word wrap Toggle overflow openshift-dpu-operator프로젝트로 변경합니다.oc project openshift-dpu-operator
$ oc project openshift-dpu-operatorCopy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 입력하여 DPU Operator가 실행 중인지 확인합니다.
oc get pods -n openshift-dpu-operator
$ oc get pods -n openshift-dpu-operatorCopy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
NAME READY STATUS RESTARTS AGE dpu-operator-controller-manager-6b7bbb5db8-7lvkj 2/2 Running 0 2m9s
NAME READY STATUS RESTARTS AGE dpu-operator-controller-manager-6b7bbb5db8-7lvkj 2/2 Running 0 2m9sCopy to Clipboard Copied! Toggle word wrap Toggle overflow
11.1.2.2. 웹 콘솔을 사용하여 DPU Operator 설치 링크 복사링크가 클립보드에 복사되었습니다!
웹 콘솔을 사용하여 DPU Operator를 설치할 수 있습니다. DPU Operator를 사용하여 호스트 클러스터에서 DPU 장치 관리를 설정할 때 설치 프로세스를 단순화할 수 있습니다.
클러스터 관리자는 웹 콘솔을 사용하여 DPU Operator를 설치할 수 있습니다.
사전 요구 사항
-
OpenShift CLI(
oc)를 설치합니다. -
cluster-admin권한이 있는 계정.
프로세스
-
OpenShift Container Platform 웹 콘솔에서 에코시스템
소프트웨어 카탈로그 를 클릭합니다. - 사용 가능한 Operator 목록에서 DPU Operator 를 선택한 다음 설치를 클릭합니다.
Operator 설치 페이지의 설치된 네임스페이스 에서 Operator 권장 네임스페이스 옵션이 기본적으로 미리 선택됩니다. 작업이 필요하지 않습니다.
- 설치를 클릭합니다.
검증
-
에코시스템
설치된 Operator 페이지로 이동합니다. openshift-dpu-operator 프로젝트에 DPU Operator 가 InstallSucceeded 상태로 나열되어 있는지 확인합니다.
참고설치 중에 Operator는 실패 상태를 표시할 수 있습니다. 나중에 InstallSucceeded 메시지와 함께 설치에 성공하면 이 실패 메시지를 무시할 수 있습니다.
문제 해결
- Operator 서브스크립션 및 설치 계획 탭의 상태 아래에서 장애 또는 오류가 있는지 점검합니다.
-
워크로드
Pod 페이지로 이동하여 openshift-dpu-operator프로젝트에서 Pod 로그를 확인합니다. YAML 파일의 네임스페이스를 확인합니다. 주석이 없는 경우 다음 명령을 사용하여 주석
workload.openshift.io/allowed=management를 Operator 네임스페이스에 추가할 수 있습니다.oc annotate ns/openshift-dpu-operator workload.openshift.io/allowed=management
$ oc annotate ns/openshift-dpu-operator workload.openshift.io/allowed=managementCopy to Clipboard Copied! Toggle word wrap Toggle overflow 참고단일 노드 OpenShift 클러스터의 경우 네임스페이스에 주석
workload.openshift.io/allowed=management가 필요합니다.
11.1.3. DPU Operator 구성 링크 복사링크가 클립보드에 복사되었습니다!
설치 후 듀얼 클러스터 및 단일 클러스터 배포 모드에서 DPU 장치 및 네트워크 연결을 관리할 수 있도록 DPU Operator를 구성할 수 있습니다.
클러스터에서 DPU 장치 및 네트워크 연결을 관리하도록 DPU Operator를 구성할 수 있습니다.
DPU Operator를 구성하려면 다음 단계를 따르십시오.
프로세스
배포 모드를 기반으로
DpuOperatorConfigCR(사용자 정의 리소스)을 생성합니다.-
듀얼 클러스터 배포: 호스트 OpenShift Container Platform 클러스터와 각 Red Hat 빌드의 MicroShift(MicroShift) DPU 클러스터에서
DpuOperatorConfigCR을 생성해야 합니다. 단일 클러스터 배포: 이 배포는 표준 OpenShift Container Platform 클러스터를 사용합니다. 이 클러스터에서
DpuOperatorConfigCR을 한 번만 생성해야 합니다.CR의 내용은 모든 클러스터에 대해 동일합니다.
-
듀얼 클러스터 배포: 호스트 OpenShift Container Platform 클러스터와 각 Red Hat 빌드의 MicroShift(MicroShift) DPU 클러스터에서
다음 YAML을 사용하여
dpu-operator-config.yaml이라는 파일을 생성합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
metadata.name:dpu-operator-config여야 하는 사용자 정의 리소스의 이름을 지정합니다. -
spec.logLevel: Operator 컨테이너 로그에 원하는 로깅 상세 수준을 설정합니다. 값0은 기본 설정입니다.
-
다음 명령을 실행하여 리소스를 생성합니다.
oc apply -f dpu-operator-config.yaml
$ oc apply -f dpu-operator-config.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 연결된 DPU가 있거나 DPU로 작동하는 모든 노드에 레이블을 지정합니다. 다음 명령을 실행하여 이 라벨을 적용할 수 있습니다.
oc label node <node_name> dpu=true
$ oc label node <node_name> dpu=trueCopy to Clipboard Copied! Toggle word wrap Toggle overflow 다음과 같습니다.
node_nameworker-1과 같은 노드 이름을 나타냅니다.참고DPU와 호환되는 클러스터를 배포하는 방법은 다음 두 가지가 있습니다.
-
듀얼 클러스터 배포: DPU에서 실행되는 Red Hat build of MicroShift(MicroShift)에서 실행되는 OpenShift Container Platform으로 구성됩니다. 이 모드에서 Red Hat build of MicroShift(MicroShift) 인스턴스도 DPU Operator를 배포해야 하며 노드에
dpu=true레이블을 설정해야 합니다. -
단일 클러스터 배포: DPU가 기본 클러스터에 통합된 호스트에서 실행되는 OpenShift Container Platform으로만 구성됩니다. DPU는 DPU가 설치된 호스트 노드와 DPU 노드 자체 모두에 대해
dpu=true레이블이 필요합니다. DPU Operator는 DPU 또는 연결된 DPU가 연결된 호스트로 실행되는지 여부에 관계없이 노드의 역할을 자동으로 탐지합니다.
-
듀얼 클러스터 배포: DPU에서 실행되는 Red Hat build of MicroShift(MicroShift)에서 실행되는 OpenShift Container Platform으로 구성됩니다. 이 모드에서 Red Hat build of MicroShift(MicroShift) 인스턴스도 DPU Operator를 배포해야 하며 노드에
11.1.4. DPU를 사용하여 호스트에서 워크로드 실행 링크 복사링크가 클립보드에 복사되었습니다!
DPU를 사용하여 호스트에 워크로드를 배포하여 특수 인프라 작업을 오프로드하고 성능을 개선하는 동시에 호스트 CPU 리소스를 확보할 수 있습니다.
DPU에서 워크로드를 실행하면 네트워킹, 보안 및 스토리지와 같은 특수 인프라 작업을 전용 처리 장치로 오프로드할 수 있습니다. 이렇게 하면 성능이 향상되고 인프라와 애플리케이션 워크로드 간에 보안 경계가 강화되고 호스트 CPU 리소스를 확보할 수 있습니다.
다음 단계에 따라 DPU가 있는 호스트에 워크로드를 배포합니다. 애플리케이션이 호스트의 x86 CPU에서 실행되는 표준 배포 모델이지만 네트워크 가속 및 오프로드에 DPU를 사용합니다.
사전 요구 사항
-
OpenShift CLI(
oc)가 설치되어 있어야 합니다. -
cluster-admin권한이 있는 계정을 사용할 수 있습니다. - DPU Operator가 설치되어 있습니다.
프로세스
다음 YAML을 사용하여 호스트 측 작업자 노드에서 실행되도록 설계된 샘플 워크로드를 생성합니다. 파일을
workload-host.yaml로 저장합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow spec.nodeSelector: 노드 선택기는 DPU 리소스를 사용하여 노드에서 Pod를 예약합니다.kubernetes.io/hostname과 같은 표준 Kubernetes 선택기를 사용하여 예제 YAML에 표시된 대로 특정 노드를 대상으로 지정할 수 있습니다.참고유연한 예약을 위해 DPU Operator는 dpu.config.openshift.io/dpuside: "dpu-host" 레이블을 생성합니다. 이 레이블을 사용하면 기본 스케줄러에서 DPU가 있는 모든 호스트에 워크로드를 배치할 수 있습니다. 워크로드는 DPU 보조 네트워크에 자동으로 참여합니다. 노드의 레이블이
dpu.config.openshift.io/dpuside: "dpu"인 경우 노드가 DPU 자체임을 나타냅니다. DPU Operator는dpu.config.openshift.io/dpuside레이블을 생성하고 관리합니다.다음 명령을 실행하여 워크로드를 생성합니다.
oc apply -f workload-host.yaml
$ oc apply -f workload-host.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
11.1.5. DPU에서 워크로드 실행 링크 복사링크가 클립보드에 복사되었습니다!
DPU에 네트워크 워크로드를 직접 배포하여 성능을 개선하고 보안 격리를 개선하며 호스트 CPU 사용량을 줄일 수 있습니다.
DPU는 보안 기능 또는 가상화된 어플라이언스와 같은 네트워크 워크로드를 오프로드하여 성능을 개선하고 보안 격리를 개선하고 호스트 CPU 리소스를 확보합니다.
간단한 pod를 DPU에 직접 배포하려면 다음 절차를 따르십시오.
사전 요구 사항
-
OpenShift CLI(
oc)를 설치합니다. -
cluster-admin권한이 있는 계정. - DPU Operator를 설치합니다.
프로세스
다음 YAML 파일 예제를
dpu-pod.yaml로 저장합니다. 다음은 Kubernetes 기본 스케줄러에서 DPU 노드에 직접 예약할 간단한 Pod의 예입니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
metadata.name.annotations.k8s.v1.cni.cncf.io/networks:dpunfcni-conf값은NetworkAttachmentDefinition리소스의 이름을 지정합니다. DPU Operator는 설치 중에 이 리소스를 생성하여 DPU 네트워킹을 구성합니다. -
spec.nodeSelector:nodeSelector는 이 워크로드를 예약하는 기본 메커니즘입니다. DPU Operator는dpu.config.openshift.io/dpuside: "dpu"레이블을 생성하고 유지 관리합니다. 이 레이블을 사용하면 pod가 DPU 처리 장치에 직접 예약됩니다. -
spec.containers.name: 컨테이너의 이름입니다. -
spec.containers.image: 가져오고 실행할 컨테이너 이미지입니다.
-
다음 명령을 실행하여 Pod를 생성합니다.
oc apply -f dpu-pod.yaml
$ oc apply -f dpu-pod.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 Pod 상태를 확인합니다.
oc get pods -n openshift-dpu-operator
$ oc get pods -n openshift-dpu-operatorCopy to Clipboard Copied! Toggle word wrap Toggle overflow Pod 상태가
Running인지 확인합니다.
11.1.6. DPU 상태 모니터링 링크 복사링크가 클립보드에 복사되었습니다!
DPU 인프라 상태를 모니터링하여 클러스터 전체에서 DPU 장치의 현재 상태 및 상태를 확인할 수 있습니다.
DPU 상태를 모니터링하여 DPU 인프라의 현재 상태를 확인할 수 있습니다.
oc get dpu 명령은 DPU 인프라의 현재 상태를 표시합니다. 다양한 카드의 상태를 모니터링하려면 다음 절차를 따르십시오.
사전 요구 사항
-
OpenShift CLI(
oc)가 설치되어 있어야 합니다. -
cluster-admin권한이 있는 계정을 사용할 수 있습니다. - DPU Operator가 설치되어 있습니다.
프로세스
다음 명령을 실행하여 노드의 전반적인 상태를 확인합니다.
oc get nodes
$ oc get nodesCopy to Clipboard Copied! Toggle word wrap Toggle overflow 예제 출력은 클러스터의 모든 노드 목록과 해당 상태를 제공합니다. 계속하기 전에 모든 노드가
Ready상태에 있는지 확인합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이 출력에는 3개의 마스터 노드와 worker-host 접두사로 식별되는 작업자 노드 3개가 표시됩니다(예:
worker-host-ipu-219). 각 작업자 노드에는 ocpcluster-dpu 접두사로 식별되는 DPU가 포함되어 있습니다(예:ocpcluster-dpu-ipu-219).다음 명령을 실행하여 DPU의 상태를 보고합니다.
oc get dpu
$ oc get dpuCopy to Clipboard Copied! Toggle word wrap Toggle overflow 예제 출력은 감지된 DPU 목록을 제공합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
DPU products:>-< DPU의 공급 업체 또는 유형 (예: Intel 또는 Marvell). -
DPU SIDE: DPU가 호스트 측(false)에서 작동하는지 또는 DPU 측(true)에서 작동하는지 여부를 나타냅니다. 각 물리적 DPU는 두 번 표시됩니다. -
MODE NAME: DPU가 있는 노드의 이름입니다. 이는false항목에 대한 호스트 작업자 노드이며실제항목의 경우 DPU 노드입니다. STATUS: DPU가 올바르게 작동하는지(True) 또는 문제가 있는지(False)를 나타냅니다.참고oc get dpu -o yaml을 실행하여 상태에 대한 자세한 정보를 가져옵니다.
-
11.1.7. DPU Operator 설치 제거 링크 복사링크가 클립보드에 복사되었습니다!
더 이상 DPU 장치 관리가 필요하지 않은 경우 클러스터에서 DPU Operator를 설치 제거하여 모든 워크로드를 먼저 삭제할 수 있습니다.
DPU Operator를 설치 제거하려면 먼저 실행 중인 DPU 워크로드를 삭제해야 합니다. DPU Operator를 제거하려면 다음 절차를 따르십시오.
사전 요구 사항
-
cluster-admin권한이 있는 계정을 사용하여 OpenShift Container Platform 클러스터에 액세스할 수 있습니다. - DPU Operator가 설치되어 있습니다.
프로세스
다음 명령을 실행하여 생성된
DpuOperatorConfigCR 삭제oc delete DpuOperatorConfig dpu-operator-config
$ oc delete DpuOperatorConfig dpu-operator-configCopy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 DPU Operator를 설치하는 데 사용된 서브스크립션을 삭제합니다.
oc delete Subscription openshift-dpu-operator-subscription -n openshift-dpu-operator
$ oc delete Subscription openshift-dpu-operator-subscription -n openshift-dpu-operatorCopy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 생성된
OperatorGroup리소스를 제거합니다.oc delete OperatorGroup dpu-operators -n openshift-dpu-operator
$ oc delete OperatorGroup dpu-operators -n openshift-dpu-operatorCopy to Clipboard Copied! Toggle word wrap Toggle overflow 다음과 같이 DPU Operator를 설치 제거합니다.
다음 명령을 실행하여 설치된 Operator를 확인합니다.
oc get csv -n openshift-dpu-operator
$ oc get csv -n openshift-dpu-operatorCopy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
NAME DISPLAY VERSION REPLACES PHASE dpu-operator.v4.20.0-202503130333 DPU Operator 4.20.0-202503130333 Failed
NAME DISPLAY VERSION REPLACES PHASE dpu-operator.v4.20.0-202503130333 DPU Operator 4.20.0-202503130333 FailedCopy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 DPU Operator를 삭제합니다.
oc delete csv dpu-operator.v4.20.0-202503130333 -n openshift-dpu-operator
$ oc delete csv dpu-operator.v4.20.0-202503130333 -n openshift-dpu-operatorCopy to Clipboard Copied! Toggle word wrap Toggle overflow
다음 명령을 실행하여 DPU Operator에 대해 생성된 네임스페이스를 삭제합니다.
oc delete namespace openshift-dpu-operator
$ oc delete namespace openshift-dpu-operatorCopy to Clipboard Copied! Toggle word wrap Toggle overflow
검증
다음 명령을 실행하여 DPU Operator가 설치 제거되었는지 확인합니다. 성공적인 명령 출력의 예로는
openshift-dpu-operator 네임스페이스에 있는 리소스가 없습니다.oc get csv -n openshift-dpu-operator
$ oc get csv -n openshift-dpu-operatorCopy to Clipboard Copied! Toggle word wrap Toggle overflow