Open PAI v1.8.0完整安装部署教程,目前官网最新版

集群规划

根据OpenPAI的要求,至少需要三台机器用于构建。

master 192.168.0.131
worker 192.168.0.130
dev 192.168.0.132

基础环境准备

操作系统

官网目前仅支持ubuntu,最好是用官方推荐的ubuntu 16.04

root密码设置(每台)

建议大家都使用root来进行操作,避免各种权限问题,也可以使用具有sudo权限的用户

sudo passwd root

网络设置

根据自己具体环境设置

master

auto ens33
iface ens33 inet static
address 192.168.0.131
netmask 255.255.255.0
gateway 192.168.0.1
dns-nameservers 8.8.8.8 8.8.4.4

worker

auto ens33
iface ens33 inet static
address 192.168.0.130
netmask 255.255.255.0
gateway 192.168.0.1
dns-nameservers 8.8.8.8 8.8.4.4

dev

auto ens33
iface ens33 inet static
address 192.168.0.130
netmask 255.255.255.0
gateway 192.168.0.1
dns-nameservers 8.8.8.8 8.8.4.4

更新网络服务(每台)

设置完网络后需要进行刷新

sudo /etc/init.d/networking restart

此时三台机器就可以在同一个局域网内相互访问了!

ssh远程访问设置

安装ssh服务(每台)

apt-get install openssh-server

配置ssh允许root用户登录(每台)

vim /etc/ssh/sshd_config

注释掉下面第一行,并添加下面第二行

# PermitRootLogin prohibit-password
PermitRootLogin yes

启动ssh(每台)

sudo service ssh start

安装Docker

由于Open PAI是基于K8s来进行实现的,所以要先安装Docker

更新操作系统配置(每台)

这一步是预防使用apt-get install update操作失败

vim /etc/apt/sources.list

直接注释掉红框这一行
在这里插入图片描述

执行安装Docker的命令(每台)

apt-get remove docker docker-engine docker-ce docker.io
apt-get update
apt-get install -y apt-transport-https ca-certificates curl software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
apt-get update
apt-get install -y docker-ce
systemctl start docker

安装nvidia-container-runtime(master、worker)

安装后重启一下docker

curl -s -L https://nvidia.github.io/nvidia-container-runtime/gpgkey | \
  sudo apt-key add -
distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
curl -s -L https://nvidia.github.io/nvidia-container-runtime/$distribution/nvidia-container-runtime.list | \
  sudo tee /etc/apt/sources.list.d/nvidia-container-runtime.list
apt-get update
apt-get install nvidia-container-runtime

添加阿里云镜像源地址(每台)

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://registry.cn-hangzhou.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

配置Master机器(master)

在基础服务的基础上master机器上面只需要单独配置NTP即可

apt install ntp

安装Open PAI

根据官网步骤来即可,里面超级多的坑,我们来慢慢填平,下面为官网地址
https://openpai.readthedocs.io/zh_CN/latest/manual/cluster-admin/installation-guide.html

克隆Open PAI项目

在dev box机器上,使用下面的命令来克隆OpenPAI的repo:

cd ~
git clone https://github.com/microsoft/pai.git
cd pai

checkout到某一个tag,来选择需要安装的OpenPAI版本:

git checkout v1.8.0

配置config文件

vim /root/pai/contrib/kubespray/config/config.yaml

官网指南坑:官方建议的配置方式,其中gcr.azk8s.cn以及shaiictestblob01.blob.core.chinacloudapi.cn早已经停止维护,官方还没更新新的地址,造成报错无法拉取到镜像!!!
在这里插入图片描述
经过无数次试错,使用了阿里云的镜像和docker hub的镜像进行搭配,直接拷贝过去修改用户名密码即可,你们得到这个配置文件就已经成功一半了。

user: root
password: your password
docker_image_tag: v1.8.0

gcr_image_repo: "registry.cn-hangzhou.aliyuncs.com"
kube_image_repo: "registry.cn-hangzhou.aliyuncs.com/google_containers"

openpai_kubespray_extra_var:
  pod_infra_image_repo: "registry.cn-hangzhou.aliyuncs.com/google_containers/pause-{{ image_arch }}"
  dnsautoscaler_image_repo: "docker.io/mirrorgooglecontainers/cluster-proportional-autoscaler-{{ image_arch }}"
  tiller_image_repo: "registry.cn-hangzhou.aliyuncs.com/google_containers/kubernetes-helm/tiller"
  registry_proxy_image_repo: "registry.cn-hangzhou.aliyuncs.com/google_containers/kube-registry-proxy"
  metrics_server_image_repo: "registry.cn-hangzhou.aliyuncs.com/google_containers/metrics-server-amd64"
  addon_resizer_image_repo: "registry.cn-hangzhou.aliyuncs.com/google_containers/addon-resizer"
  dashboard_image_repo: "registry.cn-hangzhou.aliyuncs.com/google_containers/kubernetes-dashboard-{{ image_arch }}"

配置layout文件

vim /root/pai/contrib/kubespray/config/layout.yaml

我使用的是虚拟机所有没有gpu因此worker使用的是cpu,如果大家有gpu可以参考layout.yaml原始模板,以下为根据我的机器配置修改后的模板

machine-sku:
  master-machine: # define a machine sku
    # the resource requirements for all the machines of this sku
    # We use the same memory format as Kubernetes, e.g. Gi, Mi
    # Reference: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/#meaning-of-memory
    mem: 40Gi
    cpu:
      # the number of CPU vcores
      vcore: 8 # 如果是虚拟机建议分配8核
  cpu-machine:
    mem: 20Gi
    cpu:
      vcore: 8 # 如果是虚拟机建议分配8核

machine-list:
  - hostname: master # name of the machine, **do not** use upper case alphabet letters for hostname
    hostip: 192.168.0.131
    machine-type: master-machine # only one master-machine supported
    pai-master: "true"
  - hostname: worker
    hostip: 192.168.0.130
    machine-type: cpu-machine
    pai-worker: "true"

为集群安装K8s

Open PAI提供了一键安装的脚本,直接执行这个脚本即可,因为我们配置了config.yaml因此会从docker hub以及阿里云下载,请保证机器能正常访问这两个网站,除此之外安装过程中会从github上面拉取文件。

cd /root/pai/contrib/kubespray
/bin/bash quick-start-kubespray.sh -v

控制台正常退出代表安装成功,如果不是正常退出请查看报错信息,然后根据报错信息去修改,我出现的问题是镜像拉取失败,经过无数次试错后使用上面的config.yaml则不会再出错。

在K8s的基础上部署OpenPAI组件

跟部署k8s一样,也是一键部署,只要网络能访问阿里云镜像源和github同样没有任何问题

cd /root/pai/contrib/kubespray
/bin/bash quick-start-service.sh

部署完成后会出现以下信息,到这里眼泪已经止不住了!
在这里插入图片描述

登录OpenPAI

http://192.168.0.130    master节点ip 
用户名:admin
密码:admin-password

在这里插入图片描述

集群所使用到的镜像

master节点

在这里插入图片描述
在这里插入图片描述

worker节点

在这里插入图片描述

集群安装建议

解决网络访问github总是失败

安装过程发现从github下载文件出现超时,建议在master和worker都配置一个vpn保证能正常访问github

解决部署k8s集失败重试还需要执行git clone

当部署k8s的过程中出现错误,重新执行下面命令部署发现又会从github重复下载pai-deploy这个文件夹

/bin/bash quick-start-kubespray.sh -v

解决方法,注释掉每次都重新下载这两行代码

vim /root/pai/contrib/kubespray/script/environment.sh
#sudo rm -rf ${HOME}/pai-deploy/kubespray
#git clone -b release-2.11 https://github.com/kubernetes-sigs/kubespray.git ${HOME}/pai-deploy/kubespray

解决下载过程中无法下载下来的文件

在部署过程中我就出现cni-plugins-linux-amd64-v0.8.1.tgz这个文件下载不下来,可以单独下载,然后传到报错所输出的路径下面

解决下载镜像慢的问题

镜像下载下来后,可以打包成本地文件,后续安装直接通过docker load -i 直接加载到Docker

打包命令,以master机器上的镜像为例,worker同理

docker save $(docker images | grep -v REPOSITORY | awk 'BEGIN{OFS=":";ORS=" "}{print $1,$2}') -o openpai_master.tar.gz

在新master加载打包好的镜像命令,worker同理

docker load -i openpai_master.tar.gz
  • 11
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 30
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 30
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值