快速部署与配置
- 请安装最新版本的KMSAgent的Ascend HDK 22.0.0驱动包。
- 若推理容器运行用户必须为root用户,则驱动安装时请使用--install-for-all参数,且安装后所有用户拥有权限,此参数存在使用安全风险,详细内容请参见驱动与固件安装指导。
- 除工具所在节点外的待部署节点已安装docker,且版本>=18.09。
- 工具所在节点需要校准到正确的UTC时间。
- 边缘节点已安装驱动、固件,且版本>=22.0.0。
- 确保边缘节点根目录的剩余磁盘空间在1G以上,工具所在节点和aivault节点的根目录的剩余磁盘空间在5G以上。
模型保护方案为用户提供离线场景批量部署工具包,用户通过该工具包无需下载各组件即可在内部网络快速批量安装AI-VAULT和配置KMSAgent,开源社区详情请参考Ascend / TrustAI。
容器场景快速部署
- 获取链接,根据架构下载容器部署所需deployer_{arch}.zip包。
- 将zip包传到待部署环境上。执行以下命令,解压zip包到当前目录或执行解压zip到指定目录(将exdir替换为实际的目录)。
unzip deployer_{arch}.zip -d exdir
- 部署前准备。
- 进入解压后的目录,编辑inventory_file文件。
cd ${unzip_path} vi inventory_file
- 配置待部署节点的ip地址,如果节点的IP后配置了变量server='aivault',该节点被视为aivault服务节点,aivault服务节点最多有一个,该节点不会进行KMSAgent部署,仅安装haveged和导入aivault镜像并启动aivault服务。使用基于账号密码认证的ssh连接(请确保所有远程节点配置的密码是正确的,否则程序会报错终止)。
inventory_file文件格式如下:
[ascend] localhost ansible_connection='local' ${node_ip_1} ansible_ssh_pass='${password}' server='aivault' # aivault服务节点 ${node_ip_2} ansible_ssh_pass='${password}' # 边缘节点 [ascend:vars] ansible_ssh_user='root'
- 密码认证方式请确保待部署节点允许密码登录。如果不允许,可将/etc/ssh/sshd_config文件里的PasswordAuthentication字段配置为yes并重启sshd服务,用完本工具后再禁止密码登录即可。
- 密码认证方式时请删除部署工具节点/root/.ssh目录里的内容。
- 一个节点仅配置一行。
- 进入解压后的目录,编辑inventory_file文件。
- 执行快速部署。
- 执行命令导入deployer镜像,并用deployer镜像启动容器,如果start_service.sh所在环境没有安装docker,会自动安装docker。
./start_service.sh
- 执行命令进行批量部署,如果配置aivault节点,可省去指定aivault-ip。
./deploy.sh --aivault-ip={ip}
- 根据回显提示设置证书口令。
Enter pass phrase for ca.key: Verifying - Enter pass phrase for ca.key:
- 若显示以下内容,输入yes校验系统时间。
Enter yes to modify the system time of the above environment and no to terminate the program. Please enter your selection [y]es/[n]o:
- 执行命令导入deployer镜像,并用deployer镜像启动容器,如果start_service.sh所在环境没有安装docker,会自动安装docker。
用户根据实际需要选择对应参数完成批量部署,命令为./deploy.sh [options]。 参数说明请参见下表,表中各参数的可选参数范围可通过执行./deploy.sh --help查看。
参数 |
说明 |
---|---|
--help -h |
可选,查询帮助信息。 |
--aivault-ip |
可选,指定aivault服务的ip地址,未配置aivault节点时必须指定。 |
--svc-port |
可选,指定aivault服务的端口,默认5001。 |
--mgmt-port |
可选,指定管理aivault服务的服务器端口,默认9000。 |
--cfs-port |
可选,指定cfs服务的端口,默认是1024。 |
--online |
可选,在线模式,默认离线模式。指定后会下载依赖,容器场景已内置依赖,不用指定该选项。 |
--python-dir |
可选,指定安装了ansible的python路径,参考格式:/usr/local/python3.7.9 或 /usr/local/python3.7.9/,默认是/usr/local/python3.7.9。容器场景请勿指定该选项。 |
--all |
可选,所有节点执行kmsagent批量部署任务,默认master节点不进行kmsagent部署,容器场景请勿指定该选项。 |
--exists-cert |
可选,证书存在时跳过证书生成,使用已有证书部署时须指定。 |
--update-cert |
可选,更新证书。 |
--certExpireAlarmDays |
可选,证书到期提醒天数[7-180](默认值90)。 |
--checkPeriodDays |
可选,检查证书周期天数,范围为1到证书到期告警天数(默认值7)。 |
--maxKMSAgent |
可选,连接KMSAgent的最大值(默认128)。 |
--maxLinkPerKMSAgent |
可选,每个KMSAgent的链接最大值(默认值32)。 |
--maxMkNum |
可选,mk编号的最大值(默认值10)。 |
--dbBackup |
可选,ai-vault数据库备份文件保存地址。 |
--certBackup |
可选,导入证书备份保存地址。 |