9.7. Mellanox NIC와 함께 RDMA 모드에서 가상 기능 사용
RoCE(RDMA over Converged Ethernet)는 기술 프리뷰 기능 전용입니다. 기술 프리뷰 기능은 Red Hat 프로덕션 서비스 수준 계약(SLA)에서 지원되지 않으며 기능적으로 완전하지 않을 수 있습니다. 따라서 프로덕션 환경에서 사용하는 것은 권장하지 않습니다. 이러한 기능을 사용하면 향후 제품 기능을 조기에 이용할 수 있어 개발 과정에서 고객이 기능을 테스트하고 피드백을 제공할 수 있습니다.
Red Hat 기술 프리뷰 기능의 지원 범위에 대한 자세한 내용은 기술 프리뷰 기능 지원 범위를 참조하십시오.
OpenShift Container Platform에서 RDMA를 사용할 때 RoCE(RDMA over Converged Ethernet)가 지원되는 유일한 모드입니다.
사전 요구 사항
-
OpenShift CLI(
oc)를 설치합니다. - SR-IOV Network Operator 설치.
-
cluster-admin권한이 있는 사용자로 로그인합니다.
프로세스
다음
SriovNetworkNodePolicy오브젝트를 생성한 다음 YAML을mlx-rdma-node-policy.yaml파일에 저장합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 참고SriovNetworkNodePolicy의 각 옵션에 대한 자세한 설명은Configuring SR-IOV network devices섹션을 참조하십시오.SriovNetworkNodePolicy오브젝트에 지정된 구성을 적용하면 SR-IOV Operator가 노드를 비우고 경우에 따라 노드를 재부팅할 수 있습니다. 구성 변경 사항을 적용하는 데 몇 분이 걸릴 수 있습니다. 제거된 워크로드를 사전에 처리하는 데 클러스터에 사용 가능한 노드가 충분한지 확인하십시오.구성 업데이트가 적용되면
openshift-sriov-network-operator네임스페이스의 모든 Pod 상태가Running으로 변경됩니다.다음 명령을 실행하여
SriovNetworkNodePolicy오브젝트를 생성합니다.oc create -f mlx-rdma-node-policy.yaml
$ oc create -f mlx-rdma-node-policy.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 다음
SriovNetwork오브젝트를 생성한 다음 YAML을mlx-rdma-network.yaml파일에 저장합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- ipam CNI 플러그인의 구성 오브젝트를 YAML 블록 스칼라로 지정합니다. 플러그인은 연결 정의에 대한 IP 주소 할당을 관리합니다.
참고SriovNetwork의 각 옵션에 대한 자세한 설명은 " SR-IOV 추가 네트워크 구성" 섹션을 참조하십시오.선택적 라이브러리인 app-netutil은 컨테이너의 상위 pod에 대한 네트워크 정보를 수집하기 위한 여러 API 메서드를 제공합니다.
다음 명령을 실행하여
SriovNetworkNodePolicy오브젝트를 생성합니다.oc create -f mlx-rdma-network.yaml
$ oc create -f mlx-rdma-network.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 다음
Pod사양을 생성한 다음 YAML을mlx-rdma-pod.yaml파일에 저장합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
SriovNetwork오브젝트mlx-rdma-network가 생성되는 동일한target_namespace를 지정합니다. 다른 네임스페이스에서 Pod를 생성하려면Pod사양과SriovNetwork오브젝트 모두에서target_namespace를 변경합니다.- 2
- 애플리케이션 및 애플리케이션에서 사용하는 RDMA 라이브러리를 포함하는 RDMA 이미지를 지정합니다.
- 3
- hugepage 할당, 시스템 리소스 할당 및 네트워크 인터페이스 액세스를 위해 컨테이너 내부의 애플리케이션에 필요한 추가 기능을 지정합니다.
- 4
- hugepage 볼륨을
/mnt/huge아래의 RDMA Pod에 마운트합니다. hugepage 볼륨은 매체가Hugepages인 emptyDir 볼륨 유형으로 지원됩니다. - 5
- CPU 수를 지정합니다. RDMA Pod는 일반적으로 kubelet에서 전용 CPU를 할당해야 합니다. 이를 위해 CPU 관리자 정책을
static으로 설정하고 QoS가GuaranteedPod를 생성합니다. - 6
- hugepage 크기
hugepages-1Gi또는hugepages-2Mi를 지정하고 RDMA Pod에 할당할 hugepage 수량을 지정합니다.2Mi및1Gihugepage를 별도로 구성합니다.1Gihugepage를 구성하려면 커널 인수를 노드에 추가해야 합니다.
다음 명령을 실행하여 RDMA Pod를 생성합니다.
oc create -f mlx-rdma-pod.yaml
$ oc create -f mlx-rdma-pod.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow