开发者社区 > 云原生 > 容器服务 > 正文

如何使用ECI GPU 容器实例?

如何使用ECI GPU 容器实例?

展开
收起
小天使爱美 2020-03-31 16:09:30 1322 0
2 条回答
写回答
取消 提交回答
  • 本文主要为您介绍如何使用GPU容器实例,这里以使用Tensorflow图片识别为例进行演示。该功能适用于Serverless kubernetes集群和在 Kubernetes集群创建的虚拟节点。

    背景信息 容器服务ACK Serverless(Serverless Kubernetes)基于ECI(弹性容器实例)正式推出GPU容器实例支持,让用户以serverless的方式快速运行 AI计算任务,极大降低AI平台运维的负担,显著提升整体计算效率。

    AI计算离不开GPU已经是行业共识,然而从零开始搭建GPU集群环境是件相对复杂的任务,包括GPU规格购买、机器准备、驱动安装、容器环境安装等。GPU资源的serverless交付方式,充分的展现了serverless的核心优势,其向用户提供标准化而且“开箱即用”的资源供给能力,用户无需购买机器也无需登录到节点安装GPU驱动,极大降低了AI平台的部署复杂度,让客户关注在AI模型和应用本身而非基础设施的搭建和维护,让使用 GPU/CPU资源就如同打开水龙头一样简单方便,同时按需计费的方式让客户按照计算任务进行消费, 避免包年包月带来的高成本和资源浪费。

    在容器服务ACK Serverless中创建挂载GPU的 Pod,通过Annotation指定所需GPU的类型,同时在resource.limits中指定GPU的个数即可(也可指定 instance-type)。每个pod独占GPU,GPU实例的收费与ECS GPU类型收费一致,不产生额外费用。目前阿里云ECI提供的GPU规格及类型请参见ECI GPU 使用示例。

    说明 目前创建挂载vGPU的Pod暂不支持该功能。 前提条件 您已经创建一个 Serverless Kubernetes集群或已在 Kubernetes 集群创建一个使用虚拟节点。

    下面以Serverless kubernetes集群中在使用Tensorflow进行图片识别。image 登录容器服务管理控制台。 在Kubernetes菜单下,单击左侧导航栏中的应用 > 无状态,单击右上角的使用模板创建。 选择所需的集群和命名空间,选择样例模板或自定义,然后单击创建。 您可以使用如下yaml示例模板创建Pod(本例中,Pod中指定GPU类型为 P4,GPU个数为 1) 。 apiVersion: v1 kind: Pod metadata: name: tensorflow annotations: k8s.aliyun.com/eci-gpu-type : "P4" spec: containers: - image: registry-vpc.cn-hangzhou.aliyuncs.com/ack-serverless/tensorflow name: tensorflow command: - "sh" - "-c" - "python models/tutorials/image/imagenet/classify_image.py" resources: limits: nvidia.com/gpu: "1" restartPolicy: OnFailure 几分钟后,单击左侧导航栏中的应用 > 容器组,当出现如下内容时,表示Pod创建成功。 容器组 单击目标Pod,在容器组 - tensorflow中的日志页签下,看到如下红框内容时,表示图片识别成功。 容器组 - tensorflow 如果您想要在容器服务ACK的虚拟节点中使用该功能,请参考使用虚拟节点,需要把Pod指定调度到虚拟节点上,或把Pod创建在有 virtual-node-affinity-injection=enabled label 的 namespace中,然后使用如下示例文件替换步骤 4 的yaml文件即可。示例如下: apiVersion: v1 kind: Pod metadata: name: tensorflow annotations: k8s.aliyun.com/eci-gpu-type : "P4" spec: containers: - image: registry-vpc.cn-hangzhou.aliyuncs.com/ack-serverless/tensorflow name: tensorflow command: - "sh" - "-c" - "python models/tutorials/image/imagenet/classify_image.py" resources: limits: nvidia.com/gpu: "1" restartPolicy: OnFailure nodeName: virtual-kubelet 说明 基于虚拟节点的方式可以更灵活的支持多种深度学习框架,例如Kubeflow、arena或其他自定义CRD。

    2020-03-31 20:27:18
    赞同 展开评论 打赏
  • 技术架构师 阿里云开发者社区技术专家博主 CSDN签约专栏技术博主 掘金签约技术博主 云安全联盟专家 众多开源代码库Commiter

    参考下官方文档,https://help.aliyun.com/document_detail/119191.html

    2020-03-31 17:55:11
    赞同 展开评论 打赏

国内唯一 Forrester 公共云容器平台领导者象限。

相关电子书

更多
阿里云文件存储 NAS 在容器场景的最佳实践 立即下载
何种数据存储才能助力容器计算 立即下载
《容器网络文件系统CNFS》 立即下载