安装MindX DL组件前配置
批量安装MindX DL组件前需要参考以下操作完成配置。
部署前检查
批量部署前请确保操作系统配置了DNS,可以选取一台服务器进行检查。
可执行cat /etc/resolv.conf命令查看,若回显DNS配置信息(如“nameserver”信息),表示已配置DNS;若无回显信息,表示未配置DNS,请执行如下步骤配置。
- 查询配置了业务IP的网口名称。
ip a
- 给相应网口配置DNS。
nmcli connection modify enp125s0f0 +ipv4.dns 10.10.10.254 nmcli conn up enp125s0f0
- 10.10.10.254为DNS地址,仅为示例。
- enp125s0f0为网口名称,仅为示例。
- 使用nmcli指令配置DNS仅为示例, 用户需按照OS镜像提供商的DNS配置方案完成配置。
- 查看DNS是否配置成功。
cat /etc/resolv.conf
回显如下信息,表示DNS配置成功。# Generated by NetworkManager nameserver 10.10.10.254
配置inventory_file文件
- 登录ascend-deployer所在服务器。
- 在ascend-deployer所在服务器上配置待安装设备的IP地址、用户名。
进入ascend-deployer/ascend_deployer目录,编辑inventory_file文件,添加完成后执行:wq保存退出。格式参考如下(配置master节点的主机为K8s的默认控制节点):
- 执行集群训练前,训练节点须进行hccn_tool网络配置,参考1仅修改配置hccn变量区域。
- master和worker变量配置区域
表1 主机分组配置说明 需要配置的主机分组
是否可选
master
必选,master个数必须为奇数
worker
必选
[master] xx.xx.xx.xx ansible_ssh_user="root" set_hostname="master-1" k8s_api_server_ip=xx.xx.xx.xx [worker] xx.xx.xx.xx ansible_ssh_user="root" set_hostname="worker-1"
表2 主机分组变量配置参数说明 字段
是否可选
说明
IP
必选
服务器的IP地址。
ansible_ssh_user
必选
ssh登录远程服务器的账号,需要为root账号。
ansible_ssh_pass
可选
ssh登录远程服务器账号的密码,如果配置了SSH密钥认证方式且root用户可以登录,则无需配置。
ansible_ssh_port
可选
ssh连接的端口,使用默认值22端口时无需配置,如果使用了非默认的其他端口,则需要配置。
ansible_become_password
可选
与账号ssh登录时输入的密码一致。root账号无须配置。
set_hostname
可选,多master或多worker节点时必选,单节点时可选
设置节点在K8s集群中的节点名,建议用“master-1”或“worker-1”的格式,按照顺序填充;如果已有K8s集群,则该名字需要为节点在K8s中的名字,不可随意填写。
k8s_api_server_ip
可选,master节点必须配置,worker节点不可配置
K8s对外提供服务的入口,配置为master节点的IP地址。无论是单master、还是多master场景,k8s_api_server_ip参数必须配置为本机上已经存在的IP。
- 全局变量配置区域
[all:vars] POD_NETWORK_CIDR="xx.xx.xx.xx/xx" KUBE_SERVICE_CIDR="xx.xx.xx.xx/xx" KUBE_VIP="" HARBOR_SERVER="" HARBOR_ADMIN_USER="" HARBOR_ADMIN_PASSWORD="" HARBOR_PUBLIC_PROJECT="false" HARBOR_CA_FILE=""
表3 全局变量配置参数说明 字段
是否可选
说明
POD_NETWORK_CIDR
必选
K8s集群使用的子网IP网段,如果与服务器IP网段重合,需要修改为其他私有网段。默认值为192.168.0.0/16。
lPV6地址配置时请按照网络规划进行配置,建议选择地址段范围为"FEC0:2::/64"。
说明:请保证节点的IP与K8s默认集群网段(192.168.0.0/16)没有冲突,如果冲突,请修改POD_NETWORK_CIDR参数为其他私有网段,如:10.0.0.0/16。
KUBE_SERVICE_CIDR
必选
K8s集群使用的Service地址段(默认为10.96.0.0/12),Service是Kubernetes内的概念,对应的是Service类型为ClusterlP时Service使用的地址,每个Service有自己的地址。
配置网段时,请注意:
- Service地址只在Kubernetes集群内使用,不能在集群外使用。
- Service地址段不能和虚拟交换机地址段重叠。
- Service地址段不能和Pod虚拟交换机地址段重叠。
lPV6地址配置时请按照网络规划进行配置,建议选择地址段范围为"FEC0:1::/108"。
KUBE_VIP
可选
多master场景下必须配置虚拟IP,kube_vip需跟K8s集群节点IP在同一子网,且为闲置、未被他人使用的IP。
HARBOR_SERVER
可选,使用Harbor服务时必选
使用Harbor镜像仓时配置的Harbor服务地址,格式为<ip>:<port>,不含协议。
HARBOR_ADMIN_USER
HARBOR_ADMIN_PASSWORD
可选,使用Harbor服务时必选
配置Harbor管理员账号信息,用于在Harbor中创建项目以推送拉取K8s和MindX DL相关镜像。
HARBOR_PUBLIC_PROJECT
可选,使用Harbor服务时必选
Harbor中MindX DL相关镜像的项目公开状态,可选值“false”或“true”。
HARBOR_CA_FILE
可选
使用https协议时,可配置Harbor镜像仓根CA文件路径。不配置该参数时,默认值为“no”。
- Atlas A2 训练系列产品上,IP、k8s_api_server_ip、POD_NETWORK_CIDR、KUBE_SERVICE_CIDR支持配置IPv4和IPv6两种类型的IP地址,用户使用PuTTY等SSH客户端连接执行机的IP地址和inventory_file文件中配置的IP地址类型需要保持统一,均为IPv4或IPv6。其他设备仅支持配置为IPv4地址。
- inventory_file文件中会配置远程设备的用户名,支持root和非root用户(非root用户仅支持安装表1所示的软件)。如果想使用非root用户安装表1所示的软件,需要先将文件中的ansible_ssh_user配置为root用户,使用root用户安装完sys_pkg(系统组件)、npu(驱动与固件,为昇腾设备时安装)等后,再将文件中的ansible_ssh_user配置成非root用户安装表1所示的软件。
- inventory_file文件中支持指定ansible_ssh_pass字段配置其他待安装设备的密码进行SSH密码认证,若已使用SSH密钥认证方式连接,则无需再配置。其中待安装设备的操作系统为openEuler_20.03LTS、openEuler_22.03LTS、Kylin V10 SP2和CentOS 7.6时,不支持通过ansible_ssh_pass字段进行配置。
- (可选)批量部署时默认并发数为50,最高并发数为255。如果待部署环境的数量大于50,可以进入ascend-deployer/ascend_deployer目录,在ansible.cfg文件中修改forks值,改成待部署的节点总数以加快部署速度。
[defaults] forks=50