環境要求:
- 如果需要圖形界面,需要在Ubuntu系統安裝,否則centos系統安裝時是沒有問題的(web端和命令行進行任務提交)
- 安裝過程需要有另外一台控制端機器(注意:區別於集群所在的任何一台服務器!!!),控制端和集群服務器確保ssh服務開通
- 集群中個節點的賬戶和密碼確保一致
- 集群中每台服務器確保有sudo權限
- 安裝服務器所在機器要能翻牆,國內網絡下載不了k8s鏡像,如果翻不出去,請按照下表自行下載對應tag的鏡像
gcr.io/google_containers/hyperkube |
v1.9.9 |
gcr.io/google_containers/kube-controller-manager |
v1.9.9 |
gcr.io/google_containers/kube-apiserver |
v1.9.9 |
gcr.io/google_containers/kube-scheduler |
v1.9.9 |
gcr.io/google_containers/etcd |
3.2.17 |
gcr.io/google_containers/kubernetes-dashboard-amd64 |
v1.8.3 |
gcr.io/google_containers/pause-amd64 |
3.0 |
第1步:准備工作(在集群節點以外的任意機器上操作)
1)拉取dev-box鏡像(默認已經安裝docker):
sudo docker pull docker.io/openpai/dev-box
啟動dev-box容器
sudo docker run -itd \ -e COLUMNS=$COLUMNS -e LINES=$LINES -e TERM=$TERM \ -v /var/lib/docker:/var/lib/docker \ -v /var/run/docker.sock:/var/run/docker.sock \ -v /pathHadoop:/pathHadoop \ -v /pathConfiguration:/cluster-configuration \ --pid=host \ --privileged=true \ --net=host \ --name=dev-box \ docker.io/openpai/dev-box
2)進入dev-box容器
sudo docker exec -it dev-box /bin/bash
3)轉到命令操作路徑
cd /pai/pai-management
4)制作啟動文件
拷貝模板文件:
cd quick-start/quick-start-example.yaml ../quick-start.yaml
修改模板文件:
Machines:第一個IP是為master,后面的默認為worker;如果master和worker在同一台機器上,寫1個ip 就ok
第2步:生成配置文件
python paictl.py cluster generate-configuration \ -i quick-start.yaml \ -o /path/to/cluster-configuration/dir
出現該圖表示配置文件生成,在/path/to/cluster-configuration/dir路徑可以查看,四個yaml文件
第3步:配置並安裝k8s
python paictl.py cluster k8s-bootup \ -p /path/to/cluster-configuration/dir
該地方會有較長時間的停頓,檢測python和docker環境安裝
k8s鏡像下載及容器啟動,視網速情況而定,過程時間較長,耐心等待,曙光就在眼前
安裝完成
此時,訪問該web端:http://<master>:9090
第4步:安裝pai相關服務
python paictl.py service start \ -p /path/to/cluster-configuration/dir
恭喜你,安裝完成
耐心等待,正在拉取鏡像,如果着急的話可以手動拉取
待上述組件安裝完成后訪問web端:http://<master>:9286
安裝過程注意事項:
1)為了充分利用GPU所在的服務器,在以集群模式安裝部署時,將master節點部署在普通(沒有GPU)節點,worker節點全部部署在GPU所在服務器,達到硬件資源的充分利用。
具體方式為第一步配置文件中的第一個IP為master節點,后面的所有IP都為worker
2)在安裝過程如果遇到問題,卸載掉重新再來
卸載open pai 組件:
python paictl.py service delete -p /path/to/cluster-configuration/dir
卸載k8s組件:
python paictl.py cluster k8s-clean -p /path/to/cluster-configuration/dir
3)安裝完了以后出現類似的情況,不能徹底卸載pai需要刪除etcd文件庫,需要:rm –rf /var/etcd/data,然后重新安裝
服務安裝后出現類似的錯誤:Failed create pod sandbox