文档

在ACK中添加eRDMA机型的节点

更新时间:

本文介绍如何将eRDMA机型的节点加入ACK中。

使用限制

  • 仅1.24及以上的ACK集群支持eRDMA实例节点的添加,且如果同时是GPU节点的话,也仅支持470.xx.xx以上的NVIDIA驱动版本。

  • ACK支持全部eRDMA机型节点加入集群。支持eRDMA的ECS实例类型,请参见:

前提条件

  • 在ACK中添加支持eRDMA的节点时,需要使用阿里云官方提供的已经部署好eRDMA驱动的OS镜像。其Image Id为:m-2ze71xexpolzv031di8z。

    该镜像需要您前往Cloud Market完成购买(不计费)。

  • 已创建eRDMA网卡,并与目标ECS实例已绑定。详细信息,请参见创建辅助弹性网卡

添加支持eRDMA的节点至ACK集群

手动添加

  1. 将节点的OS镜像设置为前提条件中获取到的OS镜像。

  2. 手动添加节点

自动添加

  1. 新建节点池,OS镜像为前提条件中获取到的OS镜像。

  2. 自动添加节点

后续操作

您如果想要使用eRDMA节点,例如在eRDMA节点上部署应用,则必须安装eRDMA Device Plugin。

  1. 准备test.yaml文件。

    ---
    apiVersion: v1
    kind: ConfigMap
    metadata:
      name: rdma-devices
      namespace: kube-system
    data:
      config.json: |
        {
            "mode" : "hca",
            "deviceType" : "eRDMA"
        }
    ---
    apiVersion: apps/v1
    kind: DaemonSet
    metadata:
      name: rdma-sriov-dp-ds
      namespace: kube-system
      labels:
        app: rdma-device-plugin
    spec:
      selector:
        matchLabels:
          app: rdma-device-plugin
      template:
        metadata:
          labels:
            app: rdma-device-plugin
            name: rdma-sriov-dp-ds
        spec:
          hostNetwork: true
          nodeSelector:
            aliyun.accelerator/erdma: "true"
          tolerations:
          - key: CriticalAddonsOnly
            operator: Exists
          containers:
          - image: registry-cn-beijing.ack.aliyuncs.com/acs/k8s-rdma-sriov-dev-plugin:v1.0.0-b3dcbc5-aliyun
            name: k8s-rdma-sriov-dp-ds
            imagePullPolicy: Always
            resources:
              limits:
                memory: "300Mi"
                cpu: "300m"
              requests:
                memory: "300Mi"
                cpu: "300m"
            securityContext:
              privileged: true
            volumeMounts:
              - name: device-plugin
                mountPath: /var/lib/kubelet/device-plugins
              - name: config
                mountPath: /k8s-rdma-sriov-dev-plugin
          volumes:
            - name: device-plugin
              hostPath:
                path: /var/lib/kubelet/device-plugins
            - name: config
              configMap:
                name: rdma-devices
                items:
                - key: config.json
                  path: config.json
    
  2. 执行如下命令,部署eRDMA Device Plugin。

    kubectl apply -f test.yaml

    预期输出:

    configmap/rdma-devices created
    daemonset.apps/rdma-sriov-dp-ds created

    预期输出表明,eRDMA Device Plugin部署成功。

  • 本页导读 (1)
文档反馈