部署隱私計算節點
完成節點部署前的準備后,可參考本文內容部署隱私計算節點。
集群組網
如果您使用的是單機模式,請忽略此步驟。
集群化部署節點有助于解決訓練節點單機性能不足的問題,可以提高并行任務數。其中,多副本模式有助于提高預測節點的穩定性。使用 docker-compose 時,同一宿主機啟動的容器網絡是互通的,但不同宿主機的容器網絡是隔離的狀態。因此,為了保證宿主機中的容器可以互相訪問,需要使用網絡插件對容器進行組網,此時建議您使用 Docker 內置的 Overlay Network 進行組網。本章介紹了集群組網的操作步驟。
環境檢查
查看當前防火墻規則,確認集群節點間互相開放以下端口:
TCP 協議的 2377 端口:用于管理集群通信。
TCP 協議的 7946 端口:用于節點之間通信。
UDP 協議的 7946 端口:用于節點之間通信。
UDP 協議的 4789 端口:用于覆蓋網絡流量。
Overlay 組網
登錄集群中一臺節點客戶端,執行以下命令,將當前節點配置成 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.
執行以下命令,創建 Overlay 網絡,并將網段范圍設置為 11.0.0.0/8。
docker network create -d overlay --subnet 11.0.0.0/8 --attachable nueva-exchange
登錄集群中另一臺節點客戶端,執行以下命令,將當前節點配置成 Worker 節點。${TOKEN} 為本節步驟 1 獲取到的 Token 值。
docker swarm join --token ${TOKEN}
解壓節點部署軟件包,進入解壓后的目錄,執行以下命令,運行
install.sh
腳本文件。./install.sh
執行以下命令,啟動容器并發現網絡。
IMAGE=`docker image ls | head -2 | tail -1 | awk '{print $1":"$2}'` echo $IMAGE docker run -dit --rm --net nueva-exchange $IMAGE sh
執行以下命令,查看當前節點的網絡列表。
docker network ls
系統返回類似如下信息,即 NAME 為 nueva-exchange,確認成功加入 Overlay 網絡。
NETWORK ID NAME DRIVER SCOPE vdqud8syxxxx nueva-exchange overlay swarm
節點的配置與安裝
以下是安裝節點的操作步驟。當您首次部署節點時,請參考本章內容安裝節點。
登錄節點客戶端,解壓節點部署軟件包。
進入解壓后的目錄,執行以下命令,安裝節點。執行腳本文件后,相關安裝文件會被復制到
~/nueva
目錄中。./install.sh
執行以下命令,進入
~/nueva
安裝目錄。cd ~/nueva
執行以下命令,編輯
.env
文件,配置環境變量,然后保存并退出。vim .env
以下是需要配置的環境變量及其說明:
執行以下命令,確認存在指定密鑰對,其中私鑰名稱為
server.key
,私鑰用于節點間的身份認證和授權。ls ~/nueva/gateway/conf/
記錄公鑰內容,并將公鑰內容上傳到管理控制臺,進行節點間的授權操作。如果采用集群模式,請務必確保每個實例的 RSA 私鑰一致,否則會發生授權失敗的問題。若獲取公鑰失敗,請執行以下命令,獲取 RSA 公鑰。
openssl rsa -in ~/nueva/gateway/conf/server.key -RSAPublicKey_out | base64 | tr -d "\n"