对接MindCluster
MindIO TFT以SDK形式提供服务,不存在常驻进程。服务随着训练进程启动被拉起,训练任务结束,服务退出。
与MindCluster对接时,MindCluster管理K8s容器,在K8s容器中安装对接过程与裸机安装部署一致。
操作步骤
- 当Python环境不是安装在共享存储中时,为了便于大集群使用,可以将MindIO TFT SDK制作到镜像中,通过镜像安装Pod时,已经安装好MindIO TFT SDK。
- MindIO TFT服务Controller模块与Processor模块存在心跳报文,在K8s做网络隔离时,需要将通信端口添加到创建Pod时配置的yaml文件中。修改创建Pod时配置的yaml文件。此处以“pod.yaml”为例。
- 打开“pod.yaml”文件。
vim pod.yaml
- 按“i”进入编辑模式,新增以下内容。
ports: - containerPort: 8000 # 用于MindIO TFT服务Controller与Processor通信端口 name: ttp-port
- 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。
- 打开“pod.yaml”文件。
- 适配K8s网络,在5的预训练脚本基础上做如下修改。
# 注释下面两行,该环境变量由MindCluster配置 # MASTER_ADDR=$(hostname -I | awk '{print $1}') # MASTER_PORT=XXXX # 从K8s获取MASTER_ADDR、MASTER_PORT环境变量(K8s的service网络IP地址) CONTROLLER_ADDR=$(hostname -I | awk '{print $1}') PROCESSOR_ADDR=${MASTER_ADDR} export CONTROLLER_ADDR export PROCESSOR_ADDR
父主题: 使用指导