部署隐私计算节点

更新时间:

完成节点部署前的准备后,可参考本文内容部署隐私计算节点。

集群组网

说明

如果您使用的是单机模式,请忽略此步骤。

集群化部署节点有助于解决训练节点单机性能不足的问题,可以提高并行任务数。其中,多副本模式有助于提高预测节点的稳定性。使用 docker-compose 时,同一宿主机启动的容器网络是互通的,但不同宿主机的容器网络是隔离的状态。因此,为了保证宿主机中的容器可以互相访问,需要使用网络插件对容器进行组网,此时建议您使用 Docker 内置的 Overlay Network 进行组网。本章介绍了集群组网的操作步骤。

环境检查

查看当前防火墙规则,确认集群节点间互相开放以下端口:

  • TCP 协议的 2377 端口:用于管理集群通信。

  • TCP 协议的 7946 端口:用于节点之间通信。

  • UDP 协议的 7946 端口:用于节点之间通信。

  • UDP 协议的 4789 端口:用于覆盖网络流量。

Overlay 组网

  1. 登录集群中一台节点客户端,执行以下命令,将当前节点配置成 Manager 节点。

    docker swarm init

    系统返回类似如下信息,获取并记录 Token 值。若丢失 Token 值,可执行 docker swarm join-token worker 命令,重新获取 Token 值。

    Swarm initialized: current node (zwjcr9w3zr9a72oxw39j7xxxx) is now a manager.
    
    To add a worker to this swarm, run the following command:
    
        docker swarm join --token SWMTKN-1-3nuu8r2s3z9eq2o3tl47wjgacpfuxpg64eqsc8wb5t8buijzbx-d2qw8h52loc0ithrvnosxxxxx 172.xx.xx.12:2377
    
    To add a manager to this swarm, run 'docker swarm join-token manager' and follow the instructions.
  2. 执行以下命令,创建 Overlay 网络,并将网段范围设置为 11.0.0.0/8。

    docker network create -d overlay --subnet 11.0.0.0/8 --attachable nueva-exchange
  3. 登录集群中另一台节点客户端,执行以下命令,将当前节点配置成 Worker 节点。${TOKEN} 为本节步骤 1 获取到的 Token 值。

    docker swarm join --token ${TOKEN}
  4. 解压节点部署软件包,进入解压后的目录,执行以下命令,运行 install.sh 脚本文件。

    ./install.sh
  5. 执行以下命令,启动容器并发现网络。

    IMAGE=`docker image ls | head -2 | tail -1 | awk '{print $1":"$2}'`
    echo $IMAGE
    docker run -dit --rm --net nueva-exchange $IMAGE sh
  6. 执行以下命令,查看当前节点的网络列表。

    docker network ls

    系统返回类似如下信息,即 NAMEnueva-exchange,确认成功加入 Overlay 网络。

    NETWORK ID          NAME                DRIVER              SCOPE
    vdqud8syxxxx       nueva-exchange      overlay             swarm

节点的配置与安装

以下是安装节点的操作步骤。当您首次部署节点时,请参考本章内容安装节点。

  1. 登录节点客户端,解压节点部署软件包。

  2. 进入解压后的目录,执行以下命令,安装节点。执行脚本文件后,相关安装文件会被复制到 ~/nueva 目录中。

    ./install.sh
  3. 执行以下命令,进入 ~/nueva 安装目录。

    cd ~/nueva
  4. 执行以下命令,编辑 .env 文件,配置环境变量,然后保存并退出。

    vim .env

    以下是需要配置的环境变量及其说明:

    • NAMESPACE:当前节点标识,请参见 基本配置 获取节点标识。

    • TOKEN:当前节点身份认证 Token,请参见 基本配置 获取 Token。

    • CENTRAL_GATEWAY:中心节点网关地址。

    • GATEWAY_HTTP_PORT:网关对外 HTTP 访问端口,默认为 80。

    • GATEWAY_HTTPS_PORT:网关对外 HTTPS 访问端口,默认为 443。

    • GATEWAY_GRPCS_PORT:网关对外 GRPCS 访问端口,默认为 1443。

    • GATEWAY_INTERNAL_PORT:网关本地 HTTP 访问端口,默认为 1080。

  5. 执行以下命令,确认存在指定密钥对,其中私钥名称为 server.key,私钥用于节点间的身份认证和授权。

    ls ~/nueva/gateway/conf/
  6. 记录公钥内容,并将公钥内容上传到管理控制台,进行节点间的授权操作。如果采用集群模式,请务必确保每个实例的 RSA 私钥一致,否则会发生授权失败的问题。若获取公钥失败,请执行以下命令,获取 RSA 公钥。

    openssl rsa -in ~/nueva/gateway/conf/server.key -RSAPublicKey_out | base64 | tr -d "\n"