鲲鹏社区首页
中文
注册
开发者
我要评分
获取效率
正确性
完整性
易理解
在线提单
论坛求助

KAE设备直通

本节以直通HPRE设备为例,简单介绍如何将KAE设备直通到容器中。

如果需要直通其他设备,根据表1将资源名修改为对应设备的资源名即可。

表1 KAE设备与KAE设备资源名对照表

KAE设备

设备资源名

HPRE

kae.kunpeng.com/hisi_hpre

SEC

kae.kunpeng.com/hisi_sec2

ZIP

kae.kunpeng.com/hisi_zip

KAE设备正常运行需要KAE相关的库,容器内一般并没有安装KAE相关的库。本例是通过把主机上的KAE库映射到容器中来完成的。实际使用过程中请根据需要自行选择在容器中安装KAE相关的库,或者把主机上的KAE库映射到容器中。

  1. 在Pod的yaml文件中进行声明。
    对需要使用的设备在resources中通过requestslimits来进行声明。在resources中的requestslimits添加kae.kunpeng.com/hisi_hpre: "1"即可。
     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    apiVersion: v1
    kind: Pod
    metadata:
      name: kae-test
    spec:
      containers:
      - name: kae-test
        image: kae-test:latest
        command: ["/bin/sh", "-c", "while true; do echo hello; sleep 300000; done"]
        imagePullPolicy: IfNotPresent
        resources:
          requests:
            kae.kunpeng.com/hisi_hpre: "1"
          limits:
            kae.kunpeng.com/hisi_hpre: "1"
        volumeMounts:
          - name: local-lib
            mountPath: /usr/local
      volumes:
        - name: local-lib
          hostPath:
            path: /usr/local/  
    
  2. 部署Pod。
    1
    kubectl apply -f kae-pod/kae-test-pod.yaml
    
  3. 部署完成之后,查看Pod的运行状态。
    1
    kubectl get pod
    

    回显如下所示,Pod是Running状态说明部署成功。

    1
    2
    NAME       READY   STATUS    RESTARTS   AGE
    kae-test   1/1     Running   0          3h20m
    
  4. 进入Pod内查看KAE设备是否已经挂载。
    1
    2
    kubectl exec -it kae-test bash
    ls /dev
    

    kae-test为Pod的名字,请根据用户自定义的Pod名字进行修改。

  5. 发现“/dev”目录下有名为hisi_hpre-x的设备说明KAE设备已经挂载成功。