昇腾社区首页
中文
注册

对接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”为例。
    1. 打开“pod.yaml”文件。
      vim pod.yaml
    2. 按“i”进入编辑模式,新增以下内容。
      ports:
        - containerPort: 8000    # 用于MindIO TFT服务Controller与Processor通信端口
          name: ttp-port
    3. 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。
  • 适配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