調(diào)度負(fù)載至FPGA節(jié)點(diǎn)
在使用Kubernetes集群實(shí)現(xiàn)FPGA計(jì)算時(shí),為了有效利用FPGA設(shè)備,可根據(jù)需要將應(yīng)用調(diào)度到具有FPGA設(shè)備的節(jié)點(diǎn)上。本文介紹根據(jù)FPGA節(jié)點(diǎn)標(biāo)簽進(jìn)行節(jié)點(diǎn)調(diào)度。
前提條件
您已成功創(chuàng)建一個(gè)擁有FPGA節(jié)點(diǎn)的Kubernetes集群。具體操作,請(qǐng)參見(jiàn)創(chuàng)建FPGA集群。
您已連接到Kubernetes集群,方便快速查看節(jié)點(diǎn)標(biāo)簽等信息。具體操作,請(qǐng)參見(jiàn)獲取集群KubeConfig并通過(guò)kubectl工具連接集群。
背景信息
阿里云Kubernetes在部署FPGA節(jié)點(diǎn)的時(shí)候會(huì)發(fā)現(xiàn)FPGA的屬性,并且作為NodeLabel信息暴露給您,擁有如下優(yōu)勢(shì):
可以快速篩選FPGA節(jié)點(diǎn)。
部署時(shí)可以作為調(diào)度條件使用。
步驟一:查看FPGA節(jié)點(diǎn)的標(biāo)簽
方式一:通過(guò)控制臺(tái)查看FPGA節(jié)點(diǎn)的標(biāo)簽
在控制臺(tái)左側(cè)導(dǎo)航欄,單擊集群。
在集群列表頁(yè)面,單擊目標(biāo)集群名稱或者目標(biāo)集群右側(cè)操作列下的詳情。
在集群管理頁(yè)左側(cè)導(dǎo)航欄,選擇 。
在節(jié)點(diǎn)列表頁(yè)面中,選擇FPGA節(jié)點(diǎn),單擊操作列的 。
查看FPGA節(jié)點(diǎn)的標(biāo)簽。
方式二:通過(guò)kubectl命令查看FPGA節(jié)點(diǎn)的標(biāo)簽
執(zhí)行以下命令查看FPGA節(jié)點(diǎn)詳情。
kubectl get nodes
預(yù)期輸出:
NAME STATUS ROLES AGE VERSION cn-beijing.192.168.XX.X1 Ready <none> 3h51m v1.18.8-aliyun.1 cn-beijing.192.168.XX.X2 Ready <none> 3h41m v1.18.8-aliyun.1
選擇一個(gè)FPGA節(jié)點(diǎn),執(zhí)行以下命令查看該FPGA節(jié)點(diǎn)的標(biāo)簽。
kubectl describe node cn-beijing.192.168.XX.X2
預(yù)期輸出:
Name: cn-beijing.192.168.XX.X2 Roles: <none> Labels: ack.aliyun.com=c05888610e*** alibabacloud.com/nodepool-id=npfda879b6*** beta.kubernetes.io/arch=amd64 beta.kubernetes.io/instance-type=ecs.f3-c4f1.xlarge beta.kubernetes.io/os=linux failure-domain.beta.kubernetes.io/region=cn-beijing failure-domain.beta.kubernetes.io/zone=cn-beijing-h fpga.k8s.aliyun.com=f3 kubernetes.io/arch=amd64 kubernetes.io/hostname=cn-beijing.192.168.XX.X2 kubernetes.io/os=linux node.kubernetes.io/instance-type=ecs.f3-c4f1.xlarge topology.diskplugin.csi.alibabacloud.com/zone=cn-beijing-h topology.kubernetes.io/region=cn-beijing topology.kubernetes.io/zone=cn-beijing-h
從預(yù)期輸出可得,該FPGA節(jié)點(diǎn)包含節(jié)點(diǎn)標(biāo)簽(NodeLabel)
fpga.k8s.aliyun.com=f3
,下方示例使用該節(jié)點(diǎn)標(biāo)簽實(shí)現(xiàn)應(yīng)用調(diào)度。
步驟二:調(diào)度應(yīng)用到FPGA節(jié)點(diǎn)
在控制臺(tái)左側(cè)導(dǎo)航欄,單擊集群。
在集群列表頁(yè)面,單擊目標(biāo)集群名稱或者目標(biāo)集群右側(cè)操作列下的詳情。
在集群管理頁(yè)左側(cè)導(dǎo)航欄,選擇 。
在無(wú)狀態(tài)頁(yè)面中,單擊使用YAML創(chuàng)建資源。
選擇自定義示例模板,將以下示例復(fù)制到模板中。
apiVersion: batch/v1 kind: Job metadata: name: fpga-run-task1 spec: backoffLimit: 0 completions: 1 parallelism: 1 template: spec: nodeSelector: fpga.k8s.aliyun.com: f3 containers: - image: <your image> imagePullPolicy: Always name: fpga-run-task1 resources: limits: xilinx.com/fpga-aliyun-f3: 1 securityContext: privileged: true
說(shuō)明<your image>
替換為您自定義的應(yīng)用鏡像地址。單擊創(chuàng)建。
在集群管理頁(yè)左側(cè)導(dǎo)航欄選擇
。在容器組列表中,您可看到示例的Pod(容器組)已被成功調(diào)度到對(duì)應(yīng)的節(jié)點(diǎn)上,從而實(shí)現(xiàn)基于FPGA節(jié)點(diǎn)標(biāo)簽的靈活調(diào)度。