• 关于

    2019阿里云计算NAT网关

    的搜索结果

回答

本文主要为您介绍如何创建和使用带有 NPU 资源的 Kubernetes 集群。 前提条件 您需要开通容器服务和访问控制(RAM)服务。 背景信息 与大型算法模型中 CPU 相比,NPU 处理器最明显的优势是信息处理能力快。NPU 采用了“数据驱动并行计算”架构,颠覆了 CPU 所采用的传统冯·诺依曼计算机架构,这种数据流类型的处理器大大提升了计算能力与功耗的比率。NPU 特别适合处理视频、图像类的海量多媒体数据的场景,不仅速度比 CPU 要高出 100 ~ 1000 倍,同时功耗也远远低于 CPU。 您可以通过阿里云 Kubernetes 集群 + ALI NPU 运行机器学习,图像处理等高运算密度等任务,实现快速部署和弹性扩缩容等功能。 说明 如果想了解 ALI NPU 的相关信息,请参见 AliNPU Website。 本文将以创建 Kubernetes 集群时,添加 ecs.ebman1.26xlarge 实例为例说明如何使用 NPU。 创建集群过程中,容器服务会进行如下操作: 创建 ECS,配置管理节点到其他节点的 SSH 的公钥登录,通过 CloudInit 安装配置 Kubernetes 集群。 创建安全组,该安全组允许 VPC 入方向全部 ICMP 端口的访问。 如果您不使用已有的 VPC 网络,会为您创建一个新的 VPC 及 VSwitch,同时为该 VSwitch 创建 SNAT。 创建 VPC 路由规则。 创建 NAT 网关及 EIP。 创建 RAM 子账号和 AccessKey,该子账号拥有 ECS 的查询、实例创建和删除的权限,添加和删除云盘的权限,SLB 的全部权限,云监控的全部权限,VPC 的全部权限,日志服务的全部权限,NAS 的全部权限。Kubernetes 集群会根据用户部署的配置相应的动态创建 SLB,云盘,VPC路由规则。 创建内网 SLB,暴露 6443 端口。 创建公网 SLB,暴露 6443、8443和 22 端口(如果您在创建集群的时候选择开放公网 SSH 登录,则会暴露 22 端口;如果您选择不开放公网 SSH 访问,则不会暴露 22 端口)。 使用限制 随集群一同创建的负载均衡实例只支持按量付费的方式。 Kubernetes 集群仅支持专有网络 VPC。 每个账号默认可以创建的云资源有一定的配额,如果超过配额创建集群会失败。请在创建集群前确认您的配额。 如果您需要提高配额,请提交工单申请。 每个账号默认最多可以创建 5 个集群(所有地域下),每个集群中最多可以添加 40 个节点。如果您需要创建更多的集群或者节点,请提交工单申请。 说明 Kubernetes 集群中,VPC 默认路由条目不超过48条,意味着 Kubernetes 集群使用 VPC 时,默认节点上限是 48 个,如果需要更大的节点数,需要您先对目标 VPC 开工单,提高 VPC 路由条目,再对容器服务提交工单。 每个账号默认最多可以创建 100 个安全组。 每个账号默认最多可以创建 60 个按量付费的负载均衡实例。 每个账号默认最多可以创建 20 个EIP。 ECS 实例使用限制: 仅支持 CentOS 操作系统。 支持创建按量付费和包年包月的 ECS 实例。 说明 实例创建后,您可以通过 ECS 管理控制台将按量付费转预付费,请参见按量付费转包年包月。 创建 NPU 型 Kubernetes 集群 登录容器服务管理控制台。 在 Kubernetes 菜单下,单击左侧导航栏的集群 > 集群,单击页面右上角的创建 Kubernetes 集群。 在选择集群模板页面,选择异构计算专有集群页面,并单击创建,进入Kubernetes 专有版页面。 本例中创建的是异构计算专有集群,您也可以在选择集群模板时选择异构计算托管集群并进行以下操作。选择集群模板 说明 为了创建 NPU 集群,通常情况下,Worker 节点使用 NPU 类型的 ECS。集群其他参数配置,请参见创建 Kubernetes 集群。 设置 Worker 节点的配置信息。本例中将 Worker 节点作为 NPU 工作节点,选择 NPU 计算型实例规格 ecs.ebman1.26xlarge。 若您选择新增实例,则需要选择 Worker 节点的系列和规格,以及需要创建的 Worker 节点的数量(本示例创建 2 个 NPU 节点,实例类型为 ecs.ebman1.26xlarge)。 设置节点 若您选择添加已有实例,则需要预先在此地域下创建 NPU 云服务器。请参见实例规格族。 完成其他配置后,单击创建集群,启动部署。 集群创建成功后,单击左侧导航栏中的集群 > 节点,进入节点列表页面。 选择所需的集群,选择创建集群时配置的 Worker 节点,单击操作列的更多 > 详情,查看该节点挂载的 NPU 设备。 配置私有镜像密钥 如果您需要使用阿里云提供的 NPU 类型的 Docker 镜像,可以联系与您对接的客户经理或销售人员,获取一个已授权的账号。下载 Docker 镜像并在 Kubernetes 集群中配置私有镜像密钥。 在 Kubernetes 菜单下,单击左侧导航栏的集群 > 集群,进入集群列表页面。 选择所需的集群并单击操作列更多 > 通过 CloudShell 管理集群。 集群连接成功后,界面显示如下:显示结果 执行以下命令,创建一个 docker-registry 类型的 secret。 kubectl create secret docker-registry regsecret --docker-server=registry.cn-shanghai.aliyuncs.com --docker-username=<your_username> --docker-password=<your_password> 说明 regsecret:指定密钥的键名称,可自行定义。 --docker-server:指定 Docker 仓库地址。 --docker-username:获取的账号。 --docker-password:获取的密码。 在 Pod 的配置文件中添加 secret,拉取NPU类型的私有镜像。 apiVersion: v1 kind: Pod metadata: name: test-npu spec: containers: - name: <容器名称> image: registry.cn-shanghai.aliyuncs.com/hgai/<NPU类型的docker镜像> imagePullSecrets: - name: <secret名称> 说明 imagePullSecrets 是声明拉取镜像时需要指定密钥。 regsecret 必须和步骤3生成密钥的键名一致。 image 中的 Docker 仓库名称必须和 --docker-server 中的 Docker 仓库名一致。 使用 NPU 资源 如果某一个 Pod 需要使用 NPU 资源,需要在resources.limits定义aliyun.com/npu的值。 apiVersion: v1 kind: Pod metadata: name: <pod名称> spec: containers: - name: <容器名称> image: <镜像名称> resources: limits: aliyun.com/npu: <请求npu资源数> 运行 TensorFLow 的 NPU 实验环境 您可以在集群中使用 NPU 资源完成模型训练。本例中,将会启动一个使用 NPU 资源的 Pod 进行模型训练。 连接集群,请参见在CloudShell上通过kubectl管理Kubernetes集群 。 在 CloudShell 界面执行以下操作。 cat > test-pod.yaml <<- EOF apiVersion: v1 kind: Pod metadata: name: test-npu-pod spec: restartPolicy: Never imagePullSecrets: - name: regsecret containers: - name: resnet50-npu image: registry.cn-shanghai.aliyuncs.com/hgai/tensorflow:v1_resnet50-tensorflow1.9.0-toolchain1.0.2-centos7.6 resources: limits: aliyun.com/npu: 1 # requesting NPUs EOF 执行如下命令,创建 Pod。 kubectl apply -f test-pod.yaml 执行以下命令,查看 Pod 的状态。 kubectl get po test-npu-pod 说明 如果Pod 为 Error 状态,请执行kubectl logs test-npu-pod命令监听 Pod 日志,并排查修改。 执行结果 等待一段时间后,您可以通过执行如下命令查看 Pod 的状态。 kubectl get po test-npu-pod 如果查看到 Pod 的状态为 Completed,再执行如下命令查看日志。 kubectl logs test-npu-pod 此时看到日志显示结果如下,表示训练任务完成。 2019-10-30 12:10:50.389452: I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 AVX512F FMA 100%|##########| 98/98 [00:26<00:00, 3.67it/s] resnet_v1_50, result = {'top_5': 0.9244321584701538, 'top_1': 0.7480267286300659}

1934890530796658 2020-03-27 10:02:57 0 浏览量 回答数 0

回答

在云游戏、AI 模型推理、Deep Learning 教学等场景下,单个任务并不能完全使用整块 GPU 设备的计算和存储资源。为了使这类“小规模”任务仍能高效地使用 GPU,阿里云基于 Nvidia GPU 虚拟化方案提供了轻量级 GPU 计算实例。本文主要为您介绍 Kubernetes 集群如何支持轻量级 GPU 的管理和调度。 前提条件 您需要开通容器服务和访问控制(RAM)服务。 背景信息 轻量级 GPU 实例是在一台阿里云 ECS 虚拟机中装载了一块“小规格”的 GPU 卡。这块“小规格” GPU 卡提供的显存大小只有普通卡的几分之一,按不同实例规格区分。请参见GPU计算型实例概述。 用户在创建或者扩容 Kubernetes 集群时,只需为 Worker 节点选择合适的轻量级GPU实例规格(如 ecs.vgn* 系列)。或者将已存在的轻量级GPU 实例,通过自动/手动添加到 Kubernetes 集群中,此时在 Kubernetes 集群中使用轻量级 GPU 实例运行作业的过程与正常 GPU 实例一致。 本文将以创建 Kubernetes 集群时,添加 ecs.vgn5i 实例为例说明如何使用轻量级 GPU。 创建集群过程中,容器服务会进行如下操作: 创建 ECS,配置管理节点到其他节点的 SSH 的公钥登录,通过 CloudInit 安装配置 Kubernetes 集群。 创建安全组,该安全组允许 VPC 入方向全部 ICMP 端口的访问。 如果您不使用已有的 VPC 网络,会为您创建一个新的 VPC 及 VSwitch,同时为该 VSwitch 创建 SNAT。 创建 VPC 路由规则。 创建 NAT 网关及 EIP。 创建 RAM 子账号和 AccessKey,该子账号拥有 ECS 的查询、实例创建和删除的权限,添加和删除云盘的权限,SLB 的全部权限,云监控的全部权限,VPC 的全部权限,日志服务的全部权限,NAS 的全部权限。Kubernetes 集群会根据用户部署的配置相应的动态创建 SLB,云盘,VPC路由规则。 创建内网 SLB,暴露 6443 端口。 创建公网 SLB,暴露 6443、8443和 22 端口(如果您在创建集群的时候选择开放公网 SSH 登录,则会暴露 22 端口;如果您选择不开放公网 SSH 访问,则不会暴露 22 端口)。 使用限制 随集群一同创建的负载均衡实例只支持按量付费的方式。 Kubernetes 集群仅支持专有网络 VPC。 每个账号默认可以创建的云资源有一定的配额,如果超过配额创建集群会失败。请在创建集群前确认您的配额。 如果您需要提高配额,请提交工单申请。 每个账号默认最多可以创建 5 个集群(所有地域下),每个集群中最多可以添加 40 个节点。如果您需要创建更多的集群或者节点,请提交工单申请。 说明 Kubernetes 集群中,VPC 默认路由条目不超过48条,意味着 Kubernetes 集群使用 VPC 时,默认节点上限是 48 个,如果需要更大的节点数,需要您先对目标 VPC 开工单,提高 VPC 路由条目,再对容器服务提交工单。 每个账号默认最多可以创建 100 个安全组。 每个账号默认最多可以创建 60 个按量付费的负载均衡实例。 每个账号默认最多可以创建 20 个EIP。 ECS 实例使用限制: 仅支持 CentOS 操作系统。 支持创建按量付费和包年包月的 ECS 实例。 说明 实例创建后,您可以通过 ECS 管理控制台将按量付费转预付费,请参见按量付费转包年包月。 创建 VGN5I 型 Kubernetes 集群 此处创建的 VGN5I 型集群支持专有版 Kubernetes 和托管版 Kubernetes。下文示例中以创建托管版 Kubernetes为例为您介绍。 登录容器服务管理控制台。 在 Kubernetes 菜单下,单击左侧导航栏的集群 > 集群,单击页面右上角的创建 Kubernetes 集群。 在选择集群模板页面,选择标准托管版集群页面,并单击创建,进入Kubernetes 托管版页面。 创建集群 说明 为了创建 GPU 集群,通常情况下,Worker 节点使用 GPU 类型的 ECS。集群其他参数配置,请参见创建Kubernetes 托管版集群。 设置 Worker 节点的配置信息。本例中将 Worker 节点作为 GPU 工作节点,选择 GPU 计算型实例规格 vgn5i。 若您选择新增实例,则需要选择 Worker 节点的系列和规格,以及需要创建的 Worker 节点的数量(本示例创建 2 个 GPU 节点,实例类型为 ecs.vgn5i-m2.xlarge)。 设置work节点 若您选择添加已有实例,则需要预先在此地域下创建轻量级 GPU 云服务器。 完成其他配置后,单击创建集群,启动部署。 集群创建成功后,单击左侧导航栏中的集群 > 节点,进入节点列表页面。 选择所需的集群,选择创建集群时配置的 Worker 节点,单击操作列的更多 > 详情,查看该节点挂载的 GPU 设备。 在节点 详情 页面可以看到集群为该轻量级 GPU 实例添加了专门的标签,显示 GPU 设备数量,显存量和虚拟化 GPU 设备名,包括 aliyun.accelerator/nvidia_count: 1、aliyun.accelerator/nvidia_mem: 2048MiB 和 aliyun.accelerator/nvidia_name: GRID-P4-2Q。标签详情 运行 CUDA 容器验证轻量级 GPU 环境 轻量级 GPU 在容器服务 Kubernetes 集群中的使用方式和普通 GPU 类似,都是通过在 Pod 描述中指定该作业需要 nvidia.com/gpu 资源。由于一个实例中只有一块轻量级 GPU 设备,用户需要指定 nvidia.com/gpu为 1。 说明 如果集群中既有轻量级 GPU 实例,又有普通 GPU 实例,则需要在 Pod 描述中通过配置 nodeSelector 和节点标签指定调度到不同类型节点上。 这里可以用一个例子向您展示如何在 CUDA 容器中使用 CUDA 官方示例测试 GPU 设备。 在 Kubernetes 菜单下,单击左侧导航栏的应用 > 无状态,进入无状态(Deployment)页面。 单击页面右上角的创建使用模板创建 。 选择所需的集群,命名空间,选择样例模板或自定义,然后单击创建。 应用 本例中,示例模板是一个运行 CUDA 容器的 Deployment。 这里通过节点标签aliyun.accelerator/nvidia_mem: 2048MiB,将该 Pod 部署到创建 VGN5I 型 Kubernetes 集群中创建的轻量级 GPU 节点上。 apiVersion: apps/v1 kind: Deployment metadata: name: cuda-sample labels: app: cuda-sample spec: replicas: 1 selector: matchLabels: app: cuda-sample template: metadata: labels: app: cuda-sample spec: nodeSelector: aliyun.accelerator/nvidia_mem: 2048MiB containers: - name: cuda-sample image: nvidia/cuda:9.0-cudnn7-devel-ubuntu16.04 command: ["tail", "-f", "/dev/null"] resources: limits: nvidia.com/gpu: "1" 待 cuda-sample 启动后,通过 kubectl exec 命令进入该容器内部查看 GPU 设备情况和测试 CUDA 代码。 通过 kubectl 连接 Kubernetes 集群。 执行如下命令,获取 Pod 名称。 $kubectl get pod NAME READY STATUS RESTARTS AGE cuda-sample-79f9fc9cc5-hlpp5 1/1 Running 0 4h27m 执行如下命令,查看 GPU 设备情况。 可以看到该 Pod 容器中有一块 GRID P4-2Q 设备,提供 2048 MiB 显存。 $kubectl exec -it cuda-sample-79f9fc9cc5-hlpp5 bash root@cuda-sample-79f9fc9cc5-hlpp5:/# nvidia-smi Thu Nov 21 14:45:45 2019 +-----------------------------------------------------------------------------+ | NVIDIA-SMI 418.70 Driver Version: 418.70 CUDA Version: 10.1 | |-------------------------------+----------------------+----------------------+ | GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC | | Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. | |===============================+======================+======================| | 0 GRID P4-2Q On | 00000000:00:07.0 Off | N/A | | N/A N/A P8 N/A / N/A | 144MiB / 2048MiB | 0% Default | +-------------------------------+----------------------+----------------------+ +-----------------------------------------------------------------------------+ | Processes: GPU Memory | | GPU PID Type Process name Usage | |=============================================================================| | No running processes found | +-----------------------------------------------------------------------------+ 执行如下命令,查看 CUDA 版本,安装 CUDA Sample 示例,并测试示例代码。 root@cuda-sample-79f9fc9cc5-hlpp5:/# nvcc -V nvcc: NVIDIA (R) Cuda compiler driver Copyright (c) 2005-2017 NVIDIA Corporation Built on Fri_Sep__1_21:08:03_CDT_2017 Cuda compilation tools, release 9.0, V9.0.176 root@cuda-sample-79f9fc9cc5-hlpp5:/# apt-get update && apt-get install -y cuda-samples-9-0 ... root@cuda-sample-79f9fc9cc5-hlpp5:/# cd /usr/local/cuda-9.0/samples/0_Simple/simpleTexture root@cuda-sample-79f9fc9cc5-hlpp5:/usr/local/cuda-9.0/samples/0_Simple/simpleTexture# make ... root@cuda-sample-79f9fc9cc5-hlpp5:/usr/local/cuda-9.0/samples/0_Simple/simpleTexture# ./simpleTexture simpleTexture starting... GPU Device 0: "GRID P4-2Q" with compute capability 6.1 Loaded 'lena_bw.pgm', 512 x 512 pixels Processing time: 0.038000 (ms) 6898.53 Mpixels/sec Wrote './data/lena_bw_out.pgm' Comparing files output: <./data/lena_bw_out.pgm> reference: <./data/ref_rotated.pgm> simpleTexture completed, returned OK

1934890530796658 2020-03-27 10:03:05 0 浏览量 回答数 0
阿里云大学 云服务器ECS com域名 网站域名whois查询 开发者平台 小程序定制 小程序开发 国内短信套餐包 开发者技术与产品 云数据库 图像识别 开发者问答 阿里云建站 阿里云备案 云市场 万网 阿里云帮助文档 免费套餐 开发者工具 企业信息查询 小程序开发制作 视频内容分析 企业网站制作 视频集锦 代理记账服务 企业建站模板