创建公共云标准版集群

公共云标准版集群部署在云环境中,由云服务器ECS实例和共享文件系统等组件构成,用户可自主维护集群服务的可用性。本文介绍如何在控制台上创建公共云集群。

背景信息

E-HPC公共云标准版集群由以下几部分组成:

  • 管理节点:对应一个ECS实例,部署了调度器和域账号服务,用于管理作业调度和用户信息等。

  • 计算节点:由多个ECS实例组成,可以按队列分组管理,支持扩缩容,用于运行作业。

  • 登录节点:对应一个ECS实例,部署了Login组件,且绑定了EIP,用于远程连接集群。

  • 共享存储:支持挂载NAS和CPFS文件系统,用于共享数据,包括作业数据、软件数据等。

重要

更多关于E-HPC集群的相关信息,请参见集群概述

前提条件

手动创建

步骤一:打开创建集群页面

单击前往创建集群页面

步骤二:配置集群

集群配置页面,完成集群网络、类型、调度器等配置。

  • 基础设置

    配置项

    说明

    地域

    选择集群所在地域。

    网络及可用区

    选择集群所在的专有网络和交换机。

    说明

    集群内的节点会占用所选交换机的IP地址,请确保交换机下的可用IP地址数大于所需的节点数量。

    安全组

    安全组用于控制集群及其节点的出入流量。系统自动创建的安全组会自动添加规则,保证集群内的各节点通信。

    请根据需要选择自动创建的安全组类型。关于普通安全组和企业安全组的差异,请参见普通安全组与企业级安全组

  • 集群类型

    该类型集群由一个管理节点和多个计算节点组成。您需要选择集群部署的调度器类型,并配置管理节点。

    配置项

    说明

    系列

    选择标准版

    部署模式

    选择公共云集群

    集群类型

    选择集群的调度器类型。支持HPC场景常用调度器,包括Slurm、OpenPBS和Grid Engine。

    管理节点

    管理节点是一台部署了调度器和域账号服务的ECS实例。请根据业务场景和集群规模,为管理节点选择合适的配置。

    • 付费模式

      选择如何为管理节点付费。具体计费说明,请参见实例规格计费

      • 按量付费:后付费,按实际使用时长计费,不支持抢占式实例。

      • 包年包月:预付费,按周、月、年计费。

    • 实例规格

      选择合适的管理节点规格。对于不同规模的集群,推荐的管理节点规格如下:

      • 如果计算节点数≤100个,管理节点规格建议vCPU≥16核,内存≥64 GiB。

      • 如果100<计算节点数≤500个,管理节点规格建议vCPU≥32核,内存≥128 GiB。

      • 如果计算节点数>500个,管理节点规格建议vCPU≥64核,内存≥256 GiB。

    • 镜像

      选择用于部署管理节点环境的镜像。不同镜像支持的调度器不同,以界面显示为准。

    • 存储

      选择管理节点的系统盘规格,以及是否挂载数据盘。关于云盘的类型和性能等信息,请参见云盘概述

    • 超线程

      默认开启CPU超线程,如果您的业务场景需要获得更好的性能表现,可以关闭CPU超线程。

  • 自定义选项

    配置项

    说明

    调度器

    根据选择的集群类型,以及管理节点配置的镜像,选择要部署的调度器软件。

    域账号

    选择集群部署的域账户服务。

    域名解析

    保持默认。

    集群后处理脚本

    指在集群计算任务完成后,用于处理结果数据或执行其他后续操作的脚本。

    集群最大节点数

    集群允许包含的最大节点数量。和集群最大核数共同控制集群规模。

    集群最大核数

    集群允许包含的最大核数。和集群最大节点数共同控制集群规模。

    集群删除保护

    设置是否开启集群删除保护功能。开启后,需要关闭功能才能释放集群,可以避免误释放集群。

  • 资源组

    资源组用于分组管理资源,具体请参见资源组。集群默认属于默认资源组,您可以按需修改。

步骤三:配置计算节点与队列

计算节点与队列页面,完成队列配置。

队列用于分组管理计算节点,运行作业时可以指定队列。集群默认存在1个队列(comp队列),您可以单击添加更多队列来添加队列。单个队列需要配置以下信息:

  • 基本设置

    配置项

    说明

    队列自动伸缩

    选择是否开启自动伸缩。开启后,可进一步按需选择是否开启自动扩容自动缩容

    开启自动伸缩后,系统会根据配置信息和实时负载,自动增加或者减少计算节点。

    队列节点数

    设置队列包含的节点数量。

    • 如果没有开启队列自动伸缩,请配置队列初始的计算节点数量。

    • 如果开启了队列自动伸缩,请配置队列允许的最小节点数和最大节点数。

      重要

      如果将最小节点数修改为非0值,集群缩容时该队列会保留最小节点数量的节点,即使是空闲节点也不会被释放。请您谨慎设置最小节点数,以免导致自动缩容后队列中存在空闲节点,造成资源浪费和不必要的经济损失。

  • 选择队列节点配置

    如果开启了队列自动伸缩,或者没有开启队列自动伸缩但初始节点数不为0时,需配置以下信息,以便系统可以创建计算节点。

    配置项

    说明

    节点间互联

    选择节点之间网络连通方式。

    • VPC网络:节点之间通过VPC网络进行通信。

    • eRDMA网络:如果节点使用支持ERI的规格,则节点之间可以通过eRDMA网络进行通信。

      说明

      仅部分节点规格支持ERI,更多信息,请参见eRDMA概述在企业级实例上配置eRDMA

    虚拟交换机

    选择节点所属的交换机。系统会自动从可用的交换机网段中为节点分配IP地址。

    实例规格组

    单击添加实例规格,选择节点的规格。

    如果未开启自动伸缩,则仅支持添加一个实例规格;如果开启了自动伸缩,则支持添加多个实例规格。

    重要

    您可以选择多个虚拟交换机和多个实例规格作为备选,避免因库存问题导致实例创建失败。创建计算节点时,系统会从第一个交换机所在可用区开始,按照实例规格顺序尝试创建,直到创建出满足所需节点数量的计算节点。最终创建成功的实例的规格可能随库存变化而不同。

  • 自动伸缩

    配置项

    说明

    伸缩策略

    选择伸缩策略。目前仅支持供应优先策略,表示会按照配置的交换机顺序,从对应可用区依次尝试创建符合规格要求的计算节点。

    单次最大伸缩节点数

    每轮扩容或缩容周期最多增加或减少的节点数量。默认为0,表示不限制最大数量。

    如果您对使用成本有要求,可以设置该值,确保扩容的节点数量不超出预期。

    主机名前缀

    节点主机名的开头字符,用以标记区分节点。

    主机名后缀

    节点主机名的结尾字符,用以标记区分节点。

    主机RAM角色

    为节点绑定RAM角色,使得节点可以获得权限访问阿里云服务。

    建议您选择系统创建的默认角色AliyunECSInstanceForEHPCRole。

步骤四:配置共享文件存储

共享文件存储页面,完成存储配置。

默认情况下,管理节点的/home/opt将挂载文件系统,作为共享存储目录。如果您想要为其他目录挂载文件系统,可单击添加更多存储,并完成相关配置。单个目录需要配置的文件系统信息如下:

说明

/home/opt目录暂不支持挂载不同的文件系统目录。

配置项

说明

类型

选择要挂载的文件系统类型。

  • 通用型NAS:挂载通用型NAS文件系统。

  • 极速型NAS:挂载极速型NAS文件系统。

  • 并行文件CPFS:使用NFS协议挂载CPFS文件系统。

文件系统

选择要挂载的文件系统ID和挂载点,请确保该文件系统还有可用的挂载点余量。

文件系统目录

输入要挂载的文件系统目录。

挂载选项

选择挂载协议。

步骤五:配置软件与服务组件

软件与服务组件页面,完成软件和服务组件配置。

  • 单击添加软件,在弹出的对话框中选择需要安装的软件。E-HPC提供了HPC行业常用的软件,您可以按需选择。

  • 单击添加服务组件,在弹出的对话框中选择服务组件,并配置组件参数。

    说明

    目前仅支持Login组件。

    公共云集群默认配置了Login组件,用于通过公网远程连接集群。组件参数说明如下:

    配置

    配置项

    说明

    Login组件自定义参数

    SSH

    设置通过SSH连接集群时,对应的端口号、协议,以及允许的IP网段。

    VNC

    设置通过VNC连接集群时,对应的端口号、协议,以及允许的IP网段。

    CLIENT

    设置通过客户端连接集群时,对应的端口号、协议,以及允许的IP网段。

    组件部署资源

    EIP实例

    为部署Login组件的ECS实例绑定EIP,以便可以通过公网连接集群。支持自动创建或选择已有EIP。

    ECS实例

    设置用于部署Login组件的ECS实例的规格。

步骤六:确认配置

确认配置页面,确认配置信息,并配置集群名称和登录凭证。

配置项

说明

集群名称

输入名称。该名称会在集群列表中显示,便于您查找识别。

集群免密

root用户从管理节点切换到计算节点时,是否可以免密登录。

重要

开启该功能,将配置root用户从管理节点到所有计算节点的单向免密登录方式,但不支持从计算节点到管理节点的免密登录,请谨慎操作。

登录凭证

选择登录集群的凭证。目前仅支持自定义密码

设置密码确认密码

输入登录集群的密码。集群中所有节点默认使用该密码作为root用户的登录密码。

配置完成后,阅读服务于协议,确认费用信息,然后单击创建集群

模板创建

E-HPC支持通过模板来快速、批量创建集群。模板中定义了创建集群需要配置的基本参数,您可以选择E-HPC提供的集群模板,也可以自定义编写模板。

使用公共模板创建集群

  1. 进入集群列表页面。

    1. 登录弹性高性能计算控制台

    2. 在顶部菜单栏左上角处,选择地域。

    3. 在左侧导航栏,单击集群

  2. 集群列表页面,单击集群模板

  3. 在弹出的对话框中,选择要使用的模板,单击对应的创建集群

    image

  4. 确认配置信息,并输入集群名称等信息。

    • 配置概要处,会显示模板提供的默认配置,如果您想要修改配置,可以单击编辑,在相应配置项中修改。

    • 管理设置处,按照页面提示完成配置。

  5. 阅读服务协议,确认费用信息,然后单击创建集群

使用自定义模板创建集群

  1. 在本地编写自定义模板。

    本文使用该模板作为示例,请根据实际需求修改参数。

    ### 集群基本设置
    Region: cn-hangzhou                            # 集群所属地域。可选,缺省时,前端自动填充地域
    ClusterName: "TestClusterName"                 # 集群名称。可选,缺省时,可以按照集群类型自动生成,如SLURM-Region-DATESTAMP
    ClusterDescription: "XXXXX"                    # 集群描述。可选。
    ClusterCategory: "Standard"                    # 集群系列,必选,合法值:['Standard', 'Serverless', 'SuperComputing']
    ClusterVpcId: ""                               # 集群VPCID。可选,缺省时,前端自动选择改地域下有效值填充
    ClusterVSwitchId: ""                           # 集群头节点vSwitchId。可选,缺省时,前端自动选择该VPCID下有效值填充
    IsEnterpriseSecurityGroup: true                # 是否使用企业级安全组,当且仅当SecurityGroupId为空时生效。可选,默认为false,使用普通安全组
    SecurityGroupId: sg-bp1gje9ip78z7v6zy203       # 为空时,自动创建。可选,默认为空,自动创建。
    ClusterCustomConfiguration:                    # 集群自定义PostInstall脚本。可选
      Script: oss://                               # 脚本OSS文件地址
      Args: arg1 arg2                              # 脚本传参
    MaxCount: 1000                                 # 集群最大节点数。可选,默认为1000
    MaxCoreCount: 100000                           # 集群最大vCPU数。可选,默认为10000
    DeletionProtection: true                       # 集群删除保护。可选,默认为true,启用删除模板
    ResourceGroupId: rg-acfm2xumdifd3ri            # 集群所属资源组。可选,缺省时,前端自动选择该账号下有效值填充
    Tags:                                          # 集群标签。可选。
      - Key: String
        Value: String
    
    ### 集群管控服务设置
    Manager:                                     # 头节点模块
      Scheduler:                                 # 调度服务模块
        Type: "SLURM"                            # 选填,调度器类型,默认是SLURM
        Version: "22"                            # 选填,调度器版本,默认是22
      DirectoryService:                          # 账号服务模块
        Type: "NIS"                              # 选填,账号模块类型,默认是NIS
        Version: "x.x.x"                         # 选填,域账号版本
      DNS:                                       # 域名解析服务模块
        Type: "NIS"                              # 选填,域名解析服务类型,默认是NIS
        Version: "x.x.x"                         # 选填,域名解析服务版本
      ManagerNode:                               # 头节点实例
        InstanceType: "ecs.c7.xlarge"            # 实例规格,选填,非托管版集群必填
        ImageId: "m-xxxxxx"                      # 实例镜像,选填,非托管版集群必填
        InstanceChargeType: "PostPaid"           # 实例购买模式,选填,头节点付费类型只支持PostPaid和Subscription,默认为PostPaid
        PeriodUnit: "Month"                      # 实例购买时长单位,选填,只有付费类型为Subscription需要提供
        Period: 1                                # 实例购买时长数量,选填,只有付费类型为Subscription需要提供
        AutoRenew: false                         # 是否自动续费,选填,只有付费类型为Subscription需要提供
        AutoRenewPeriod: 1                       # 自动续费时长,选填,只有付费类型为Subscription需要提供
        SpotStrategy: "SpotWithPriceGo"          # 实例购买模式,选填,Spot付费类型,头节点下该参数无效
        SpotPriceLimit: 0.5                      # Spot价格上限,头节点下该参数无效
        Duration: 1                              # Spot实例保留时长,头节点下该参数无效
        SystemDisk:                              # 选填,系统盘参数
          Category: "cloud_essd"                 # 选填,默认是cloud_essd
          Size: 40                               # 选填,默认是40
          Level: "PL0"                           # 选填,默认是PL0
        DataDisks:                               # 选填,数据盘参数
          - Category: "cloud_essd"               # 选填,默认是cloud_essd
            Size: 40                             # 选填,默认是40
            Level: "PL0"                         # 选填,默认是PL0
            DeleteWithInstance: false            # 选填,默认是false
        EnableHT: false                          # 选填,默认是true
    
    ### 集群计算队列与节点配置                      # 选填,队列配置
    Queues:                                      # 
      - Name: workq                              # 选填,队列1
        EnableScaleOut: false                     # 选填,是否开启扩容,默认为fasle
        EnableScaleIn: false                      # 选填,是否开启缩容,默认为fasle
        MinCount: 0                              # 选填,队列最小节点数
        MaxCount: 500                            # 选填,队列最大节点数
        InitialCount: 0                          # 选填,队列初始化节点数
        InterConnect: erdma                      # 选填,队列中节点网络互联类型,支持VPC和eRDMA
        VSwitchIds:                              # 选填,队列交换机列表
          - "vsw-xxxxxxx"
          - "vsw-xxxxxxx"        
        ComputeNodes:                            # 选填,队列计算节点配置
          - InstanceType: "ecs.c7.xlarge"            # 实例规格,选填,非托管版集群必填
            ImageId: "m-xxxxxx"                      # 实例镜像,选填,非托管版集群必填
            InstanceChargeType: "PostPaid"           # 实例购买模式,选填,头节点付费类型只支持PostPaid和Subscription,默认为PostPaid
            PeriodUnit: "Month"                      # 实例购买时长单位,选填,只有付费类型为Subscription需要提供
            Period: 1                                # 实例购买时长数量,选填,只有付费类型为Subscription需要提供
            AutoRenew: false                         # 是否自动续费,选填,只有付费类型为Subscription需要提供
            AutoRenewPeriod: 1                       # 自动续费时长,选填,只有付费类型为Subscription需要提供
            SpotStrategy: "SpotWithPriceGo"          # 实例购买模式,选填,Spot付费类型,头节点下该参数无效
            SpotPriceLimit: 0.5                      # Spot价格上限,头节点下该参数无效
            Duration: 1                              # Spot实例保留时长,头节点下该参数无效
            SystemDisk:                              # 选填,系统盘参数
              Category: "cloud_essd"                 # 选填,默认是cloud_essd
              Size: 40                               # 选填,默认是40
              Level: "PL0"                           # 选填,默认是PL0
            DataDisks:                               # 选填,数据盘参数
              - Category: "cloud_essd"               # 选填,默认是cloud_essd
                Size: 40                             # 选填,默认是40
                Level: "PL0"                         # 选填,默认是PL0
                DeleteWithInstance: false            # 选填,默认是false
            EnableHT: false                          # 选填,默认是true   
        AllocationStrategy: "PriorityInstanceType"   # 选填,自动伸缩策略,供应优先或者成本优先
        RamRole: "xxxxxx"                            # 选填,节点使用的RamRole名称
        HostNamePrefix: "xxxxx"                        # 选填,主机名前缀
        HostNameSuffix: "xxxxx"                        # 选填,主机名后缀
        KeepAliveNodes:                                # 选填,例外节点列表
          - compute000
          - compute001
          - compute002
    ### 集群共享存储
    SharedStorage:
      - MountDirectory: "/home"                    # 选填,集群挂载目录
        FileSystemId: "xxxx"                       # 选填,共享文件存储的文件系统ID
        NASDirectory: "/"                          # 选填,共享文件存储的文件目录
        MountTargetDomain: "xxxxxx"                # 选填,挂载点
        ProtocolType: "NFS"                        # 选填,协议
        MountOptions: "xxxxx"                      # 选填,挂载选项
    ### 集群软件
    AdditionalPackages:                            # 选填,集群软件列表
      - Name: "LAMMPS"                             # 软件名称
        Version: "xxxx"                            # 软件版本
      - Name: "Gromacs"
        Version: "xxx"
    ### 集群组件
    Addons:
      - Name: "LoginNode"                          #  组件名称    
        Version: "xxxxxx"                          #  组件版本
        ServicesSpec: "JSON String"                #  组件服务用户自定义参数
        ResourcesSpec: "JSON String"               #  组件服务用户自定义资源
  2. 进入集群列表页面。

    1. 登录弹性高性能计算控制台

    2. 在顶部菜单栏左上角处,选择地域。

    3. 在左侧导航栏,单击集群

  3. 集群列表页面,单击集群模板

  4. 在弹出的对话框中,单击导入本地模板,上传本地编辑好的模板文件。

  5. 在弹出的集群模板编辑对话框中,确认自定义模板信息无误,然后单击确认模板并创建

  6. 创建集群页面,确认配置信息无误,然后单击创建集群

相关文档

创建集群后,您需要创建用户来提交作业。具体操作,请参见用户管理作业概述