您好,登錄后才能下訂單哦!
今天就跟大家聊聊有關(guān)Kubernets中如何使用RDMA,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。
RDMA(全稱RemoteDirect Memory Access) 它為了解決網(wǎng)絡(luò)傳輸中服務(wù)器端數(shù)據(jù)處理的延遲而產(chǎn)生。
它的原理是將待傳輸?shù)臄?shù)據(jù)從一臺計算機的內(nèi)存,直接傳輸?shù)搅硪慌_計算機的內(nèi)存,整個傳輸過程無需操作系統(tǒng)和協(xié)議棧的介入。由于旁路了操作系統(tǒng)協(xié)議棧,通訊過程極大的降低了CPU的使用率,減少了內(nèi)核的內(nèi)存復(fù)制,以及用戶態(tài)與內(nèi)核態(tài)的上下文切換。
常見的RDMA實現(xiàn)有三種,基于以太網(wǎng)的Roce網(wǎng)絡(luò)(RDMA over Converged Ethernet), InfiniBand, iWARP。
cdn.nlark.com/lark/0/2018/png/25353/1540806975240-659279da-052f-4607-8fa9-4212b9490ca2.png">
阿里云支持超級計算集群SCC,同時支持RoCE網(wǎng)絡(luò)和VPC網(wǎng)絡(luò),其中RoCE網(wǎng)絡(luò)專用于RDMA通信。SCC 主要用于高性能計算和人工智能/機器學習、科學/工程計算、數(shù)據(jù)分析、音視頻處理等應(yīng)用場景。
RoCE(RDMA over Convergent Ethernet)網(wǎng)絡(luò)速度達到InfiniBand網(wǎng)絡(luò)的性能,且能支持更廣泛的基于Ethernet的應(yīng)用。
介紹: https://www.alibabacloud.com/help/zh/doc-detail/60576.htm
可以在ECS控制臺直接購買包年包月的SCC機型虛擬機。 https://www.alibabacloud.com/help/zh/doc-detail/61978.htm
容器服務(wù)目前已支持RDMA,您可以將SCC機型的ECS添加到容器集群中,并通過RDMA的Device plugin 在調(diào)度層面支持 RDMA。
通過聲明 resourcesLimit rdma/hca: 1
,可以指定將容器調(diào)度到RDMA的ecs上。
創(chuàng)建容器集群
進入容器服務(wù)控制臺, 選擇創(chuàng)建Kubernetes集群。由于SCC目前僅在上海地域支持,容器集群的地域請選擇 華東2(上海) 。 配置完其他參數(shù)后,點擊集群創(chuàng)建,等待集群創(chuàng)建成功。
部署RDMA Device plugin
在容器服務(wù)控制臺中,選擇使用模板部署。 部署支持RDMA的Device plugin, 選擇對應(yīng)的集群和命名空間,模板如下:
apiVersion: v1 kind: ConfigMap metadata: name: rdma-devices namespace: kube-system data: config.json: | { "mode">
通過手動添加的方式將SCC的ECS加入集群中
創(chuàng)建SCC的ECS, 并且和容器集群在同一個VPC下。并且加入相同安全組
在容器服務(wù)控制臺上操作 集群-> 更多 -> 添加已有ECS。 使用手動添加, 并選擇創(chuàng)建的RDMA機器。獲取添加腳本。
登錄上ECS, 執(zhí)行腳本。 最終添加成功有如下顯示:
在節(jié)點 -> 標簽管理中,給rdma節(jié)點增加標簽 aliyun.accelerator/rdma: true
增加標簽后能夠看到節(jié)點上的RDMA的device plugin pod被成功分配到SCC的節(jié)點上
部署兩個測試鏡像
apiVersion: v1 kind: Pod metadata: name: rdma-test-pod spec: restartPolicy: OnFailure containers: - image: mellanox/centos_7_4_mofed_4_2_1_2_0_0_60 name: mofed-test-ctr securityContext: capabilities: add: [ "IPC_LOCK" ] resources: limits: rdma/hca: 1 command: - sh - -c - | ls -l /dev/infiniband /sys/class/net sleep 1000000 --- apiVersion: v1 kind: Pod metadata: name: rdma-test-pod-1 spec: restartPolicy: OnFailure containers: - image: mellanox/centos_7_4_mofed_4_2_1_2_0_0_60 name: mofed-test-ctr securityContext: capabilities: add: [ "IPC_LOCK" ] resources: limits: rdma/hca: 1 command: - sh - -c - | ls -l /dev/infiniband /sys/class/net sleep 1000000
在一個容器中執(zhí)行 ib\_read\_bw -q 30
看完上述內(nèi)容,你們對Kubernets中如何使用RDMA有進一步的了解嗎?如果還想了解更多知識或者相關(guān)內(nèi)容,請關(guān)注億速云行業(yè)資訊頻道,感謝大家的支持。
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。