环境要求:

  • 服务器操作系统Ubuntu 16.04。

  • 每台服务器都有静态 IP 地址,并确保服务器可以相互通信。

  • 确保服务器可以访问互联网,特别是 Docker Hub 或其镜像服务器。 在部署过程中需要拉取 OpenPAI 的 Docker 映像。

  • 确保 SSH 服务已启用,所有服务器使用相同的用户名、密码,并启用 sudo 权限。

  • 确保 NTP 服务已启用。

  • 建议不提前安装 Docker 组件,如果已安装,确保 Docker 版本高于 1.26。

  • OpenPAI 会保留部分内存和 CPU 资源来运行服务,须确保服务器有足够的资源来运行机器学习作业。 详情参考硬件要求

  • OpenPAI 的服务器不能提供其它服务。 OpenPAI 会管理服务器的所有 CPU、内存和 GPU 资源。 如果服务器上有其它的服务负载,可能导致资源不足而产生各种问题。

1、安装操作系统

https://blog.csdn.net/weixin_40720226/article/details/87920049

2、安装docker

sudo curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun 	#安装docker
sudo systemctl start docker 	#启动docker
sudo systemctl enable docker		#设置docker开机启动

3、安装dev-box

sudo docker pull docker.io/openpai/dev-box:v0.17.0

sudo docker run -itd \
        -e COLUMNS=$COLUMNS -e LINES=$LINES -e TERM=$TERM \
        -v /var/run/docker.sock:/var/run/docker.sock \
        -v /pathConfiguration:/cluster-configuration  \
        -v /hadoop-binary:/hadoop-binary  \
        --pid=host \
        --privileged=true \
        --net=host \
        --name=dev-box \
        docker.io/openpai/dev-box:v0.17.0
sudo docker exec -it dev-box /bin/bash
cd /pai
注意:以下操作全部需要在`dev-box`容器中

4、从模板生成配置

您也可以自己编写配置,具体操作参考https://github.com/microsoft/pai/blob/master/docs/zh_CN/pai-management/doc/customized-configuration.md

  • 编辑模板文件vim /pai/deployment/quick-start/quick-start.yaml
# quick-start.yaml

# (Required) Please fill in the IP address of the server you would like to deploy OpenPAI
# (必需)请填写要部署OpenPAI的服务器的IP地址
machines:
  - 192.168.159.13
  - 192.168.159.14
  - 192.168.159.15

# (Required) Log-in info of all machines. System administrator should guarantee
#(必需)登录所有计算机的信息。系统管理员应保证
# that the username/password pair or username/key-filename is valid and has sudo privilege.
#用户名/密码对或用户名/密钥文件名有效且具有sudo权限。
ssh-username: root
ssh-password: ubuntu

# (Optional, default=None) the key file that ssh client uses, that has higher priority then password.
#(可选,默认值为None)ssh客户端使用的密钥文件,其优先级高于password。
#ssh-keyfile-path: <keyfile-path>

# (Optional, default=22) Port number of ssh service on each machine.
#(可选,默认值为22)每台计算机上的ssh服务端口号。
#ssh-port: 22

# (Optional, default=DNS of the first machine) Cluster DNS.
#(可选,默认值为第一台计算机的DNS)群集DNS。
#dns: <ip-of-dns>

# (Optional, default=10.254.0.0/16) IP range used by Kubernetes. Note that
#(可选,默认值为10.254.0.0/16)Kubernetes使用的IP范围。请注意
# this IP range should NOT conflict with the current network.
#此IP范围不应与当前网络冲突。
#service-cluster-ip-range: <ip-range-for-k8s>
#服务群集ip范围:<ip-range-for-k8s>
  • 生成配置文件
cd /pai
python paictl.py config generate -i /pai/deployment/quick-start/quick-start.yaml -o ~/pai-config -f
  • 更新docker tag以使用新版本 vi ~/pai-config/services-configuration.yaml
docker-tag: v0.x.y	#需要将v0.x.y修改成您需要的版本
  • 修改GPU的数量与类型
    快速启动将生成具有1个gpu的通用类型的节点,这可能不适合您的情况,例如,如果您有两种类型的计算机,并且一种类型具有4张Tesla K80 gpu卡,另一种具有2张Tesla P100卡,则应修改~/pai-config/layout.yaml如下:
machine-sku:
  k80-node:
    mem: 40G
    gpu:
      type: Tesla K80
      count: 4
    cpu:
      vcore: 24
    os: ubuntu16.04
  p100-node:
    mem: 20G
    gpu:
      type: Tesla P100
      count: 2
    cpu:
      vcore: 24
    os: ubuntu16.04

machine-list:

  - hostname: xxx
    hostip: yyy
    machine-type: k80-node
  - hostname: xxx
    hostip: yyy
    machine-type: p100-node

5、部署Kubernetes

cd /pai 
./paictl.py cluster k8s-bootup -p ~/pai-config 
kubectl get node 
kubectl get po -n kube-system 	

安装完成后,可以通过访问http://<master>:9090来检查Kubernetes的状态。
注意:< master >表示主节点IP

6、启动openPAI服务

运行过程中需要输入集群的ID,默认为pai

cd /pai
python  paictl.py config push -p ~/pai-config
python paictl.py service start

待运行完毕,没有报错信息则,则表示安装成功,可以使用http://<master>来访问openPAI平台,默认用户:admin,默认密码:admin-password

Logo

鸿蒙生态一站式服务平台。

更多推荐