文档首页 > > 用户指南> 节点管理>

使用GPU节点

使用GPU节点

分享
更新时间:2021/04/25 GMT+08:00

操作场景

CCE集群支持GPU、NPU等异构节点的混合部署,GPU集群是指使用GPU节点部署的集群,支持主流AI计算框架、支持多容器共享GPU资源。

自从1.8版本开始,Kubernetes已经明确将通过统一的设备插件方式支持像Nvidia GPU,InfiniBand,FPGA等硬件加速设备,而社区的GPU方案已在1.10全面弃用,并在1.11版本彻底从主干代码移除。

若您需要通过华为云GPU容器集群运行机器学习、科学计算、AI推理等高运算密度任务,无需安装nvidia driver,就能实现一键部署和弹性扩缩容等功能。

前提条件

  • 已创建至少一个集群,请参见购买CCE集群
  • 您需要新建一个密钥对,用于远程登录节点时的身份认证。

    若使用密码登录节点,请跳过此操作。创建方法请参见创建密钥对

约束与限制

  • Kubernetes 1.9版本的集群,GPU组件默认强制安装;Kubernetes 1.11及以上版本的集群,GPU能力以插件的方式外接提供,需要您在“插件管理”中安装GPU-beta插件。
  • CCE当前支持的GPU加速型实例包括:

    计算加速型P2vs、计算加速型P2v、计算加速型P1、推理加速型Pi2、推理加速型Pi1、图形加速增强型G6、图形加速增强型G5,各机型对应的GPU显卡和使用场景等信息请参见GPU加速型

    暂不支持:

    图形加速增强型G3、图形加速型G1。

  • ECS实例使用限制:CUDA需要您自行在镜像中安装。

操作步骤

CCE集群支持GPU、NPU等异构节点的混合部署,其购买步骤与虚拟机节点基本类似,您只需在购买CCE集群时的“创建节点”步骤中选择“GPU加速型”下的节点规格即可。

如果您已经创建一个集群,需要在此集群中使用GPU节点,可按如下步骤操作:

  1. 登录CCE控制台,可通过如下两种方式进入“购买节点”页面:

    • 在左侧导航栏中选择“资源管理 > 节点管理”,选择GPU节点所在的集群后,在节点列表页面单击上方的“购买节点”按钮。
      图1 购买节点-1
    • 在左侧导航栏中选择“资源管理 > 集群管理”,在集群列表页面单击需要添加GPU节点集群下方的“购买节点”按钮。
      图2 购买节点-2

    “购买节点”页面中,参照如下参数配置节点。

  2. 计费模式:支持按需计费“包年/包月”类型。本章以“按需计费”类型为例进行讲解。
  3. 选择区域和可用区。

    • 当前区域:节点实例所在的物理位置。
    • 可用区:请根据业务需要进行选择。可用区是在同一区域下,电力、网络隔离的物理区域,可用区之间内网互通,不同可用区之间物理隔离。
      如果您需要提高工作负载的高可靠性,建议您在创建集群后将云服务器部署在不同的可用区,购买集群时节点只能部署在一个可用区。
      图3 工作节点创建在不同可用区

  4. 配置节点规格。

    • 节点类型:选择“虚拟机节点”
    • 节点名称:自定义节点名称。长度范围为1-56个字符,以小写字母开头,支持小写字母、数字、中划线(-),不能以中划线(-)结尾。

      创建后如需修改请参考修改云服务器名称,修改后需要同步节点信息

    • 节点规格:请单击“GPU加速型”页签,根据业务需求选择相应的GPU节点规格。

      gpu节点需要安装gpu-beta插件,以保证使用gpu资源的负载可以正常运行,安装步骤请参见gpu-beta

      图4 选择节点规格

      为确保节点稳定性,系统会自动预留部分资源,用于运行必须的系统组件。详细请参见节点预留资源计算公式

    • 操作系统:部分Region不显示下方分类,请直接选择节点对应的操作系统。
      • 公共镜像:请选择节点对应的操作系统。

        公共镜像是常见的标准操作系统镜像,所有用户可见,包括操作系统以及预装的公共应用,更多介绍请参见公共镜像概述

      • 私有镜像(公测中):包含操作系统或业务数据、预装的公共应用以及用户的私有应用的镜像,仅用户个人可见。该功能仅支持v1.15及以上版本集群。

        若没有私有镜像可选择,请参照如何使用私有镜像制作工作节点镜像?(公测)进行制作。

      • 共享镜像:由其他用户共享而来的私有镜像。更多关于共享镜像的使用,请参见共享镜像

      重装操作系统或修改操作系统配置将导致节点不可用,请务必谨慎操作,具体请参见高危操作及解决方案

    • 系统盘设置工作节点的系统盘空间。您可以设置系统盘的规格为40GB-1024GB之间的数值,缺省值为40GB。

      在默认情况下,系统盘可提供高IO、超高IO两种基本的云硬盘类型,关于云硬盘的详细信息请参见云硬盘概述

      加密:数据盘加密功能可为您的数据提供强大的安全防护,加密磁盘生成的快照及通过这些快照创建的磁盘将自动继承加密功能。目前仅在部分Region显示此选项,具体以界面为准。
      • 默认不加密。
      • 点选“加密”后,可在弹出的“加密设置”对话框中,选择已有的密钥,若没有可选的密钥,请单击后方的链接创建新密钥,完成创建后单击刷新按钮。
    • 数据盘:设置工作节点的数据盘空间。您可以设置数据盘的规格为100GB-32768GB之间的数值,缺省值为100GB。数据盘可提供的云硬盘类型与系统盘一致,此处不再赘述,详情参见系统盘中的云硬盘类型介绍。

      若数据盘卸载或损坏,会导致docker服务异常,最终导致节点不可用。建议不要删除该数据盘。

      • LVM管理:CCE数据盘使用LVM(Logical Volume Manager)进行磁盘管理,开启后您可以通过空间分配调整数据盘中不同资源的空间占比。第一块盘默认选中不可更改,新增数据盘后可开启或关闭该功能:
        • 默认选中,开启LVM管理。
        • 取消选中,关闭LVM管理。
          • 开启LVM管理的数据盘将按照设置的比例进行统一分配。
          • 1.13.10及更高版本的集群创建节点时,若未开启LVM管理的数据盘,请参考为CCE节点添加第二块数据盘填写安装前执行脚本进行格式化,否则该数据盘仍会被LVM管理。
          • 1.13.10之前版本的集群创建节点时,若未开启LVM管理的数据盘请务必格式化,否则会与第一块数据盘进行二选一被LVM管理,进而导致与预期不符的情况。
      • 加密:数据盘加密功能可为您的数据提供强大的安全防护,加密磁盘生成的快照及通过这些快照创建的磁盘将自动继承加密功能。该功能仅在部分Region的1.13.10及以上版本的集群中支持,1.13.10之前版本的集群不显示此选项。
        • 默认不加密。
        • 点选“加密”后,可在弹出的“加密设置”对话框中,选择已有的密钥,若没有可选的密钥,请单击后方的链接创建新密钥,完成创建后单击刷新按钮。
      • 新增数据盘:当前仅支持挂载两块数据盘,您可以在节点创建完成后前往ECS添加更多数据盘。
      • 数据盘空间分配:单击后方的,可以对数据盘中的“k8s空间”“用户空间”占比进行自定义设置。
        • k8s空间:您可以自定义数据盘中Docker和Kubelet的资源占比。Docker资源包含Docker工作目录、Docker镜像数据以及镜像元数据;Kubelet资源包含Pod配置文件、密钥以及临时存储EmptyDir等挂载数据。
        • 用户空间:定义本地盘中不分配给kubernetes使用的空间大小和用户空间挂载路径。

          请注意“挂载路径”不能设置为根目录“/”,否则将导致挂载失败。挂载路径一般设置为:

          • /opt/xxxx(但不能为/opt/cloud)
          • /mnt/xxxx(但不能为/mnt/paas)
          • /tmp/xxx
          • /var/xxx (但不能为/var/lib、/var/script、/var/paas等关键目录)
          • /xxxx(但不能和系统目录冲突,例如bin、lib、home、root、boot、dev、etc、lost+found、mnt、proc、sbin、srv、tmp、var、media、opt、selinux、sys、usr等)

          注意不能设置为/home/paas、/var/paas、/var/lib、/var/script、/mnt/paas、/opt/cloud,否则会导致系统或节点安装失败。

    • 虚拟私有云:不可修改,仅用于展示当前集群所在的虚拟私有云,该参数仅在v1.13.10-r0及以上版本的集群中显示。
    • 所在子网:通过子网提供与其他网络隔离的、可以独享的网络资源,以提高网络安全。可选择该集群虚拟私有云下的任意子网,集群节点支持跨子网。

      该参数仅在v1.13.10-r0及以上版本的集群中显示,请务必确保子网下的DNS服务器可以解析OBS服务域名,否则无法创建节点。

      已有集群添加节点时,如果子网对应的VPC新增了扩展网段且子网是扩展网段,要在控制节点安全组(即集群名称-cce-control-随机数)中添加如下三条安全组规则,以保证集群添加的节点功能可用(新建集群时如果VPC已经新增了扩展网段则不涉及此场景):

  5. 弹性IP:独立申请的公网IP地址,若节点有互联网访问的需求,请选择“现在购买”“使用已有”集群开启IPv6时,不显示该参数。

    弹性公网IP提供外网访问能力,可以灵活绑定及解绑,随时修改带宽。未绑定弹性公网IP的云服务器无法直接访问外网,无法直接对外进行互相通信。详情请查看弹性公网IP介绍
    • 暂不使用:若新增节点未绑定弹性IP,则在该节点上运行的工作负载将不能被外网访问,仅可作为私有网络中部署业务或者集群所需云服务器进行使用。
    • 自动创建:选中后将根据您的配置购买弹性IP,并自动为每个节点进行分配。当购买的弹性IP数量小于节点个数时,会将弹性IP随机绑定到节点上。

      请根据业务需求和界面提示,选择弹性IP的规格、计费模式、带宽类型、带宽大小等。创建弹性云服务器时,请确保弹性IP配额充足。

    • 使用已有:请选择已有的弹性IP,将为当前节点分配已有弹性IP。

    CCE默认不启用VPC的SNAT。若VPC启用了SNAT,可以不使用EIP去访问外网。SNAT具体请参见自定义策略

  6. 共享带宽:请选择“暂不使用”或“使用已有”。仅在集群开启IPv6时,显示该参数。

    弹性公网IP提供外网访问能力,可以灵活绑定及解绑,随时修改带宽。未绑定弹性公网IP的云服务器无法直接访问外网,无法直接对外进行互相通信。

  7. 登录方式:支持密码和密钥对。

    • 选择“密码”:用户名默认为“root”,请输入登录节点的密码,并确认密码。

      登录节点时需要使用该密码,请妥善管理密码,系统无法获取您设置的密码内容。

    • 选择“密钥对”:选择用于登录本节点的密钥对,支持选择共享密钥。

      密钥对用于远程登录节点时的身份认证。若没有密钥对,可单击选项框右侧的“创建密钥对”来新建,创建密钥对操作步骤请参见创建密钥对

      如果子用户创建节点选择密钥对创建,这个密钥只对创建这个密钥的子用户有效,即使其他子用户在同一个组也无法选择,也无法使用。例如:A用户创建的密钥,B用户无法使用这个密钥对创建节点,并且Console也选不到。

      图5 密钥对

  8. 云服务器高级设置:(可选),单击展开后可对节点进行如下高级功能配置:

    • 资源标签:通过为资源添加标签,可以对资源进行自定义标记,实现资源的分类。

      您可以在TMS中创建“预定义标签”,预定义标签对所有支持标签功能的服务资源可见,通过使用预定义标签可以提升标签创建和迁移效率。具体请参见创建预定义标签

      CCE服务会自动帮您创建CCE-Dynamic-Provisioning-Node=节点id的标签,允许增加5个标签。

    • 安装前执行脚本:请输入脚本命令,大小限制为0~1000字符。

      脚本将在Kubernetes软件安装前执行,可能导致Kubernetes软件无法正常安装,需谨慎使用。常用于格式化数据盘等场景。

    • 安装后执行脚本:请输入脚本命令,大小限制为0~1000字符。

      脚本将在Kubernetes软件安装后执行,不影响Kubernetes软件安装。常用于修改Docker配置参数等场景。

    • 子网IP:可选择“自动分配IP地址”“手动分配IP地址”,推荐使用“自动分配IP地址”

  9. Kubernetes高级设置:(可选),单击展开后可对集群进行如下高级功能配置:

    • 最大实例数:节点最大允许创建的实例数(Pod),该数量包含系统默认实例,取值范围为16~250。集群网络模型为“VPC网络”时,此处的最大值取决于您选择的每个节点可供分配的容器IP个数。

      该设置的目的为防止节点因管理过多实例而负载过重,请根据您的业务需要进行设置。

    • 单容器可用数据空间:该参数用于设置一个容器可用的数据空间大小,设置范围10G到80G。如果设置的参数超过数据盘中Docker可占用的实际数据空间(由数据盘设置项中的资源分配自定义参数指定,默认为数据盘大小的90%),将以Docker的实际空间大小为主。该参数仅在v1.13.10-r0及以上版本的集群中显示。

  10. 节点购买数量:此处设置的节点数不能超过集群管理的最大节点规模,请根据业务需求和界面提示进行选择,单击后方的可查看影响能添加节点数的因素(取决于最小值)。如需申请更多配额,请单击申请扩大配额
  11. 购买时长:若选择“包年包月”的计费模式购买节点时,请设置购买时长。
  12. 单击“下一步:配置确认”,确认订单无误后,单击“提交”

    若计费模式为“包年包月”,在确认订单无误后,请单击“去支付”,请根据界面提示进行付款。

    系统将自动跳转到节点列表页面,待节点状态为“可用”,表示节点添加成功。添加节点预计需要6-10分钟左右,请耐心等待。
    • 若创建节点时,提示弹性IP配额不足,请参照如何解决新增节点时提示弹性IP不足的问题?方法解决。
    • 添加节点时会自动创建云服务器。若创建失败,该失败回滚过程会根据云服务器的统一收费策略来收取费用。若出现失败回滚类的收费,请到费用中心执行退订操作。
    • 集群创建时自动创建的安全组以及安全组规则禁止删除,否则会导致集群异常。

  13. 单击“返回节点列表”,待状态为可用,表示节点创建成功。

相关操作

  • 创建命名空间:同个集群内可创建多个命名空间,形成逻辑上的不同分组,便于不同的分组在共享使用集群资源时还能被分别管理。若您需要为集群创建命名空间,请参见命名空间
  • 创建工作负载:集群创建完成后,您可以使用镜像创建一个可公网访问的应用,请参见创建无状态负载(Deployment)创建有状态负载(StatefulSet)
  • 单击已成功创建的集群名称,进入“集群详情”页可查看集群详情。
    表1 已创建的集群详情

    页签类别

    说明

    集群详情

    可查看该集群的详情及运行状态等。

    监控

    可查看集群下全部节点的CPU和内存分配率(即分配量的最大值),以及控制节点的CPU和内存使用率、控制节点规格等信息。

    事件

    • 可以直接在“事件”页签下查看集群的事件。
    • 可以设置查询条件,比如设置事件产生的时间段或搜索事件名称,查看相关事件。

    弹性扩容

    您可以根据实际业务需要对集群的工作节点进行扩容和缩容,详情请参见集群弹性扩容

    v1.17版本的集群不再支持AOM提供的弹性伸缩机制,请使用节点池功能进行弹性伸缩,详情请参见节点池概述

    kubectl

    若您需要从客户端计算机连接到kubernetes集群,请使用kubernetes命令行客户端kubectl,详情请参见通过kubectl或web-terminal插件操作CCE集群

    资源标签

    通过为资源添加标签,可以对资源进行自定义标记,实现资源的分类。

    您可以在TMS中创建“预定义标签”,预定义标签对所有支持标签功能的服务资源可见,通过使用预定义标签可以提升标签创建和迁移效率。具体请参见创建预定义标签

    CCE服务会自动帮您创建CCE-Dynamic-Provisioning-Node=节点id的标签,允许增加5个标签。

    Istioctl

    在集群开启istio服务网格功能后,您使用Istio命令行工具Istioctl配置多种路由策略,从而管理服务流量,包括流量转移、故障注入、限流熔断等。详情请参见通过Istioctl配置路由策略

分享:

    相关文档

    相关产品