创建任务yaml

操作步骤

  1. 请从集群调度组件MindXDL-deploy中“3.0.0”分支下载yaml文件。

    表1 任务类型与硬件型号对应yaml文件

    任务类型

    硬件型号

    yaml文件

    获取yaml

    K8s或其他调度器场景下的Job任务

    Atlas 200I Soc A1 核心板

    infer-310p-1usoc.yaml

    根据所使用的任务类型,获取yaml

    其他类型推理节点

    infer.yaml

    Volcano调度的Deployment任务

    Atlas 200I Soc A1 核心板

    infer-deploy-310p-1usoc.yaml

    其他类型推理节点

    infer-deploy.yaml

  2. 将yaml文件上传至管理节点任意目录,并根据实际情况修改文件内容。

    表2 yaml文件参数说明

    参数

    取值

    说明

    image

    -

    推理镜像名称,请根据实际修改。

    replicas

    整数

    运行的任务副本数量。通常情况一般为1

    requests

    Atlas 200/300/500 推理产品环境:huawei.com/Ascend310: 芯片数量

    Atlas 推理系列产品:huawei.com/Ascend310P: 芯片数量

    如:huawei.com/Ascend310: 1

    请求的NPU类型、数量,请根据实际修改。requests和limits下,芯片的名字和数量需保持一致。

    limits

    host-arch

    ARM环境:huawei-arm

    X86环境:huawei-x86

    需要运行推理任务的节点架构,请根据实际修改。Atlas 200I Soc A1 核心板节点仅支持huawei-arm。

    servertype

    soc

    服务器类型。

    • 调度到Atlas 200I Soc A1 核心板节点上,必须要加上此配置,并参考“infer-310p-1usoc.yaml”文件进行目录挂载。
    • 其他类型节点不需要此参数。

    “infer-310p-1usoc.yaml”为例,参数配置示例如下。

    apiVersion: batch/v1
    kind: Job
    metadata:
      name: resnetinfer1-1-1usoc
    spec:
    ...
          nodeSelector:
            host-arch: huawei-arm
            servertype: soc
          containers:
          - image: ubuntu-infer:v1
    ...
            resources:
              requests:
                huawei.com/Ascend310P: 1
              limits:
                huawei.com/Ascend310P: 1
    ...

  3. 因为Atlas 200I Soc A1 核心板节点需要挂载的目录和文件与其他类型节点不一致,为了避免推理失败,如果需要使用Atlas 推理系列产品,且集群中有Atlas 200I Soc A1 核心板节点但是不希望调度到这类节点上,请在示例的yaml中增加“affinity”字段,表示不调度到有“servertype=soc”标签的节点上。

    • “infer.yaml”为例,Job类型的任务yaml示例如下:
      apiVersion: batch/v1
      kind: Job
      metadata:
        name: resnetinfer1-1
      spec:
        template:
          spec:
            affinity:
              nodeAffinity:
                requiredDuringSchedulingIgnoredDuringExecution:
                  nodeSelectorTerms:
                    - matchExpressions:
                        - key: servertype
                          operator: NotIn
                          values:
                            - soc
            nodeSelector:
              host-arch: huawei-arm 
      ...
    • “infer-deployment.yaml”为例,Deployment类型的任务yaml示例如下:
      apiVersion: apps/v1
      kind: Deployment
      ...
      spec:
        template:
          metadata: 
            labels:
               app: infers
      ...
          spec:
            affinity:
              nodeAffinity:
                requiredDuringSchedulingIgnoredDuringExecution:
                  nodeSelectorTerms:
                    - matchExpressions:
                        - key: servertype
                          operator: NotIn
                          values:
                            - soc
            schedulerName: volcano 
            nodeSelector:
              host-arch: huawei-arm 
      ...