安装MindCluster集群调度前配置
批量安装MindCluster集群调度前需要参考以下操作完成配置。
当Kubernetes集群规模比较大的时候,可进行分批部署。分批部署时,除按照本章节进行inventory_file配置外,第二批及以后场景需将SCALE参数设置为true。
使用约束
- 集群已完成Kubernetes的安装部署,且使用kubectl get pod -A -owide命令查询节点状态为Running正常。
- 使用MindCluster Ascend Deployer安装MindCluster集群调度时,建议选择worker节点作为执行机。
- 安装MindCluster集群调度单个组件时,优先安装Ascend Docker Runtime、Volcano。
- Atlas 900 A3 SuperPoD 超节点只支持在MindCluster6.0.RC2及以上版本安装部署。
- 如需使用MindCluster集群调度,请参见《MindCluster 集群调度用户指南》的“使用”>“基础调度特性指南”章节。
前提条件
配置inventory_file文件
- 登录MindCluster Ascend Deployer执行机。
- 在MindCluster Ascend Deployer执行机上配置待安装设备的IP地址、用户名。
进入ascend-deployer/ascend_deployer目录,编辑inventory_file文件,添加完成后执行:wq保存退出。
- 按照表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个数必须为奇数。
- 在[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"
- 按照表1,完成master、worker、other_build_image(可选)、npu_node(可选)的变量配置。
- (可选,安装MindIO时必选)若有定制化安装MindIO需求,进入ascend_deployer/templates/mindio目录,编辑memfs.conf文件,添加完成后执行:wq保存退出。