更新时间:2024-12-18 GMT+08:00

创建NPU应用

前提条件

约束与限制

  • 当前不支持npu负载多容器能力。

通过控制台创建NPU应用

本节以创建无状态工作负载(Deployment)为例,说明通过控制台创建npu资源应用的方法。

  1. 登录UCS控制台,选择容器舰队,单击集群名称进入集群。
  2. 左侧导航栏中选择“工作负载 > 无状态负载”,右上角单击“镜像创建”。
  3. 配置工作负载信息。在“容器配置>基本信息”中,异构资源选择“NPU”,并设置NPU配额。

  4. 配置其余信息,完成后,单击“创建工作负载”。返回无状态工作负载列表查看工作负载状态。

    在工作负载列表中,待工作负载状态为“运行中”,工作负载创建成功。

通过kubectl命令行创建NPU应用

本节以创建无状态工作负载(Deployment)为例,说明使用kubectl命令创建训练任务的方法。

apiVersion: apps/v1
kind: Deployment
metadata:
  annotations:
    description: ''
  labels:
    appgroup: ''
    version: v1
  name: demo
  namespace: default
spec:
  selector:
    matchLabels:
      app: demo
      version: v1
  template:
    metadata:
      labels:
        app: demo
        version: v1
    spec:
      containers:
        - name: container-1
          image: swr.cn-north-7.myhuaweicloud.com/ief-ies/demo:latest
          imagePullPolicy: IfNotPresent
          env:
            - name: PAAS_APP_NAME
              value: demo
            - name: PAAS_NAMESPACE
              value: default
            - name: PAAS_PROJECT_ID
              value: 0aa612a71f80d4322fe0c010beb80e8a
          resources:
            requests:
              cpu: 250m
              memory: 512Mi
              huawei.com/ascend-1980: '1'          ##需要使用的npu卡数量
            limits:
              cpu: 250m
              memory: 512Mi
	          huawei.com/ascend-1980: '1'  	 ##需要使用的npu卡数量
      terminationGracePeriodSeconds: 30
      schedulerName: volcano                           ## 使用的调度器指定为volcano
      tolerations:
        - key: node.kubernetes.io/not-ready
          operator: Exists
          effect: NoExecute
          tolerationSeconds: 300
        - key: node.kubernetes.io/unreachable
          operator: Exists
          effect: NoExecute
          tolerationSeconds: 300
      initContainers: []
      volumes: []
  replicas: 2
  revisionHistoryLimit: 10
  strategy:
    type: RollingUpdate
    rollingUpdate:
      maxUnavailable: 25%
      maxSurge: 25%
  progressDeadlineSeconds: 600