昇腾社区首页
中文
注册

安装MindCluster集群调度前配置

批量安装MindCluster集群调度前需要参考以下操作完成配置。

Kubernetes集群规模比较大的时候,可进行分批部署。分批部署时,除按照本章节进行inventory_file配置外,第二批及以后场景需将SCALE参数设置为true。

方式一:配置inventory_file文件

方式二:通过Excel表格配置服务器安装或升级的部署参数

使用约束

  • 集群已完成Kubernetes的安装部署,且使用kubectl get pod -A -owide命令查询节点状态为Running正常。
  • 使用MindCluster Ascend Deployer安装MindCluster集群调度时,建议选择worker节点作为执行机。
  • 安装MindCluster集群调度单个组件时,优先安装Ascend Docker RuntimeVolcano
  • Atlas 900 A3 SuperPoD 超节点只支持在MindCluster6.0.RC2及以上版本安装部署。
  • 如需使用MindCluster集群调度,请参见《MindCluster 集群调度用户指南》的“使用”>“基础调度特性指南”章节

前提条件

  • 已完成参数面网络配置。执行集群训练前,训练节点须进行hccn_tool网络配置,参考步骤 1仅修改配置hccn变量区域。
  • 请确保集群所有服务器已配置DNS,所有待安装设备DNS建议保持一致。若未配置DNS,请参考配置DNS完成DNS的配置。

配置inventory_file文件

  1. 登录MindCluster Ascend Deployer执行机。
  2. MindCluster Ascend Deployer执行机上配置待安装设备的IP地址、用户名。

    进入ascend-deployer/ascend_deployer目录,编辑inventory_file文件,添加完成后执行:wq保存退出。

    1. 按照表1,完成master、worker、other_build_image(可选)、npu_node(可选)的变量配置。
      • 如果k8s集群中存在与master节点架构不一致的服务器,并且该节点(或多个异构节点)会部署MindCluster集群调度时,需在inventory_file文件中配置other_build_image。详细配置方法请参见配置other_build_image
      • 在向K8s集群应用MindCluster集群调度配置时,需要关注集群中不同的NPU硬件形态,提供不同硬件的特征服务器信息。通过设置npu_node配置不同硬件的特征服务器,若不配置npu_node,则默认为集群首节点的NPU硬件类型。
      表1 参数说明

      参数

      是否可选

      说明

      IP

      必选

      服务器的IP地址,支持动态输入多个IP地址。参数说明如下:

      • index:服务器在IP段中的序号,Int类型,默认为1,如 1.1.1.1-1.1.1.3 set_hostname="master-{index}",那1.1.1.1对应的set_hostname=master-1。
      • step_len:IP跳位步长,末尾IP若不在步长内也会保留。如设置1.1.1.1-1.1.1.6 step_len=2,则输出1.1.1.1,1.1.1.3,1.1.1.5,1.1.1.6。
      • 在批量输入的配置{}中,支持解析参数,包含数据运算、转型等,解析后输出字符串类型。如1.1.1.1-1.1.1.3 set_hostname="master-{str(index+20)+'x'}",则解析后的主机信息为1.1.1.1 set_hostname="master-21x" ...。
      • IP段输入参数暂仅支持python3。

      ansible_ssh_user

      必选

      ssh登录远程服务器的账号,需要为root账号。

      ansible_ssh_pass

      可选

      ssh登录远程服务器账号的密码。

      如果配置了SSH密钥认证方式且root用户可以登录,则无需配置。

      ansible_ssh_port

      可选

      ssh连接的端口。

      使用默认值22端口时无需配置。

      如果使用了非默认的其他端口,则需要配置。

      set_hostname

      可选。

      多master或多worker节点时必选。

      单节点时可选。

      设置节点在K8s集群中的节点名,建议用“master-1”或“worker-1”的格式,按照顺序填充。

      如果已有K8s集群,则该名字需要为节点在K8s中的名字,必须配置为小写,不可随意填写。

      npu_num

      可选。

      安装MindIO时必选。

      设置NPU卡的数量。

      说明

      • 配置master节点的主机为K8s的默认控制节点。
      • master个数必须为奇数。
    2. 在[all:vars]配置字段下完成全局变量配置。
      表2 参数说明

      参数

      是否可选

      说明

      SCALE

      可选

      用于决定是否进行分批部署的可选参数。

      默认值为false。

      当K8S集群规模比较大的时候,可进行分批部署。第二批及之后场景需设置此参数值为true。

      RUNNER_IP

      可选

      可配置为MindCluster Ascend Deployer执行机的IP地址,请注意该IP需与其他待安装设备互通。

      建议在执行机含有多网段多个本机IP时配置该字段。

      示例如下:

      [master]
      xx.xxx.xx.x1 ansible_ssh_user="root" ansible_ssh_pass="xxxxxxx" set_hostname="master-1"     #请替换为实际待安装设备的IP
      
      [worker]
      localhost ansible_connection='local' ansible_ssh_user='root'
      xx.xxx.xx.x1-xx.xxx.xx.x3 ansible_ssh_user="root" ansible_ssh_pass="xxxxxxx"
      xx.xxx.xx.x5-xx.xxx.xx.x9 ansible_ssh_user="root" ansible_ssh_pass="xxxxxxx" set_hostname="worker-{ip}-{index}" step_len=2
      
      [npu_node]
      xx.xxx.xx.x3 ansible_ssh_user="root" ansible_ssh_pass="xxxxxxx" set_hostname="worker-1"      #npu_node用以设置不同硬件的特征服务器
      xx.xxx.xx.x4 ansible_ssh_user="root" ansible_ssh_pass="xxxxxxx" set_hostname="worker-2"
  3. (可选,安装MindIO时必选)若有定制化安装MindIO需求,进入ascend_deployer/templates/mindio目录,编辑memfs.conf文件,添加完成后执行:wq保存退出。
    memfs.conf文件的填写说明请参见《MindCluster MindIO ACP用户指南》的“安装部署>安装 MindIO >在计算节点安装 MindIO 服务”章节

    Atlas A2 训练系列产品上,IP支持配置IPv4和IPv6两种类型的IP地址,用户使用PuTTY等SSH客户端连接执行机的IP地址和inventory_file文件中配置的IP地址类型需要保持统一,均为IPv4或IPv6。其他设备仅支持配置为IPv4地址。