9.7. Mellanox NIC와 함께 RDMA 모드에서 가상 기능 사용
RoCE(RDMA over Converged Ethernet)는 기술 프리뷰 기능 전용입니다. 기술 미리 보기 기능은 Red Hat 프로덕션 서비스 수준 계약(SLA)에서 지원되지 않으며 기능적으로 완전하지 않을 수 있습니다. 따라서 프로덕션 환경에서 사용하는 것은 권장하지 않습니다. 이러한 기능을 사용하면 향후 제품 기능을 조기에 이용할 수 있어 개발 과정에서 고객이 기능을 테스트하고 피드백을 제공할 수 있습니다.
Red Hat Technology Preview 기능의 지원 범위에 대한 자세한 내용은 다음 링크를 참조하세요.
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 사양과 SriovNetowrk 오브젝트 모두에서 target_namespace를 변경합니다.- 2
- 애플리케이션 및 애플리케이션에서 사용하는 RDMA 라이브러리를 포함하는 RDMA 이미지를 지정합니다.
- 3
- hugepage 할당, 시스템 리소스 할당 및 네트워크 인터페이스 액세스를 위해 컨테이너 내부의 애플리케이션에 필요한 추가 기능을 지정합니다.
- 4
/mnt/huge아래의 RDMA 포드에 hugepage 볼륨을 마운트합니다. 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