全部产品
Search
文档中心

容器服务 Kubernetes 版 ACK:创建ASIC集群

更新时间:Aug 04, 2023

应用型专用集成电路ASIC(Application-Specific Integrated Circuit)芯片的计算能力和计算效率是直接根据特定算法的需要进行定制的,所以具备体积小、功耗低、高可靠性、保密性强、计算性能高、计算效率高等优势。本文介绍如何通过容器服务管理控制台创建ASIC集群,及ASIC芯片的使用示例。

前提条件

已创建ACK Pro版集群已创建ACK专有版集群

创建ASIC节点池

创建ASIC节点池时,选择的节点机型需为ASIC规格。创建节点池,请参见创建节点池,例如您可以选择实例规格ecs.video-trans.26xhevc。关于实例规格的更多信息,请参见实例规格族

说明

当在实例规格列表里没有可用实例时,可选择其他虚拟交换机进行尝试。

查看节点挂载的ASIC设备

集群创建成功后,可查看节点挂载的ASIC设备。

  1. 登录容器服务管理控制台,在左侧导航栏选择集群

  2. 集群列表页面,单击目标集群名称,然后在左侧导航栏,选择节点管理 > 节点

  3. 在创建集群时配置的Worker节点所在行,单击操作列的更多 > 详情,查看该节点挂载的ASIC设备。

使用ASIC设备

NETINT公司在Docker Hub提供了Base镜像,您可以使用这些镜像构建您的镜像。关于NETINT镜像地址,请参见netint/ni_xcoder_release。以下介绍如何提交一个申请NETINT ASIC设备的任务。

  1. 使用Kubectl工具连接ACK集群。具体操作,请参见获取集群KubeConfig并通过kubectl工具连接集群

  2. 执行以下命令,查看集群某个节点总的NETINT ASIC设备数。NETINT ASIC设备的扩展资源名称为netint.ca/ASIC

    kubectl get nodes <NODE_NAME> -o yaml

    在输出中有以下预期内容:

    netint.ca/ASIC: "12"

    预期输出表明,该节点中包含12张NETINT ASIC卡。

  3. 提交一个申请NETINT ASIC设备的任务。

    1. 使用以下YAML示例创建test-asic.yaml文件。

      apiVersion: batch/v1
      kind: Job
      metadata:
        name: test-asic
      spec:
        parallelism: 1
        template:
          metadata:
            labels:
              app: test-asic
          spec:
            containers:
            - name: test-asic
              image: registry.cn-beijing.aliyuncs.com/ai-samples/asic_258:asic
              command:
              - sleep
              - "500"
              resources:
                limits:
                  netint.ca/ASIC: 2 #申请两张NETINT ASIC设备。
            restartPolicy: Never
    2. 执行以下命令,提交任务。

      kubectl create -f test-asic.yaml
  4. 执行以下命令,查看Pod的运行状态是否处于Running。

    kubectl get po -l app=test-asic
  5. 执行以下命令,登录到Pod中。

    kubectl exec -ti test-asic-zt6ck -- bash
  6. 在Pod中执行以下命令,初始化NETINT ASIC设备。

    ni_rsrc_mon
  7. 执行以下命令,验证NETINT ASIC设备是否可用。

    bash run_ffmpeg.sh