单节点安装部署Cube Studio

简介

cube是tme开源的一站式云原生机器学习平台,目前主要包含

  1. 特征平台,支持在/离线特征;数据源管理,支持结构数据和媒体标注数据管理;
  2. 在线的vscode/jupyter代码开发;在线镜像调试,支持免dockerfile,增量构建;
  3. 任务流编排,在线拖拉拽;开放的模板市场,支持tf/pytorch/mxnet/spark/ray/horovod/kaldi/volcano等分布式计算/训练任务;task的单节点debug,分布式任务的批量优先级调度,聚合日志;任务运行资源监控,报警;定时调度,支持补录,忽略,重试,依赖,并发限制,定时任务算力的智能修正;
  4. nni,katib,ray的超参搜索;
  5. tf/pytorch/onnx模型的推理服务,serverless流量管控,triton gpu推理加速,依据gpu利用率/qps等指标的hpa能力,虚拟化gpu,虚拟显存等服务化能力。
  6. 多集群多项目组资源统筹,联邦调度;

基础环境说明

  • docker >= 19.03
  • kubernetes = 1.18
  • kubectl >=1.18
  • cfs/ceph 挂载到每台机器的 /data/k8s/
  • 单机 磁盘>=500G 单机磁盘容量要求不大,仅做镜像容器的的存储
  • 控制端机器 cpu>=16 mem>=32G
  • 任务端机器,根据需要自行配置

安装步骤

基础准备

  •  安装docker,如果没有docker,需要先安装docker,可以参考如下链接,注意版本19.03以上。

 https://zhuanlan.zhihu.com/p/54147784​​​​​​zzhttps://zhuanlan.zhihu.com/p/54147784

  • 下载master分支最新源码:

https://github.com/tencentmusic/cube-studiohttps://github.com/tencentmusic/cube-studio

单节点安装部署Cube Studio_第1张图片

  • 上传源码zip包至安装节点
  • 解压zip包,可以将解压后的cube-studio-master重命名为cube-studio
  • 创建如下目录

mkdir -p /data/k8s/kubeflow/minio 
mkdir -p /data/k8s/kubeflow/global
mkdir -p /data/k8s/kubeflow/pipeline/workspace  
mkdir -p /data/k8s/kubeflow/pipeline/archives

安装rancher server

reset docker

cd /xxx/cube-studio/install/kubernetes/rancher                 #   xxx指的是您的安装目录

sh reset_docker.sh

docker ps

如下图所示:

 说明reset成功

拉取所需镜像

python3 all_image.py > pull.sh

sh pull.sh 1>pull.log 2>/error_pull.log &

执行ps -ef | grep pull.sh 查看是否拉取完成

或者,发现没有此脚本的进程了,也说明拉取完成了。 

查看是否有error_pull.log日志文件生成,如果没有,则说明,所有镜像都成功拉取。

执行安装命令

sudo docker run -d --privileged --restart=unless-stopped -p 443:443 --privileged --name=myrancher -e AUDIT_LEVEL=3 rancher/rancher:v2.5.2

rancher server的web页面配置

进入rancher server的https://xx.xx.xx.xx/ 的web界面

填写用户名,密码admin/admin

勾选“我同意”,取消勾选 “允许收集匿名统计信息”,点“继续”,点“保存URL”,点“关闭”

点“添加集群”,点“自定义”,填写集群名称,例如“dev”,选择kubernetes版本1.18

点“高级集群选项”,选“Nginx Ingress”为禁用,修改NodePort范围为10-32767,docker根目录修改为/data/docker

点“编辑YAML”

在如下处:

单节点安装部署Cube Studio_第2张图片

添加如下内容:

    kubelet:
      extra_args:
        image-gc-high-threshold: 90
        image-gc-low-threshold: 85
      extra_binds:
        - '/data:/data'

一定要注意缩进!

点击“保存”,点击“完成”,点击集群名称如“dev”,点击“主机”,点击“编辑集群”

下拉至最下面,”主机选项“下面的选项全选,点击“复制按钮”

单节点安装部署Cube Studio_第3张图片

在此命令后面追加 --node-name 你的ip,然后执行这句。

点“保存”,此时网页会自动刷新

再次进入网页,点击“主机”,等待集群正常

单节点安装部署Cube Studio_第4张图片

变成如下所示可以进行下一步

单节点安装部署Cube Studio_第5张图片安装Cube Studio

配置

点击“主机名”如dev,选择dev,点击“Kubeconfig”文件,点击左下方“复制到剪切板”

进入/xxx/cube-studio/install/kubernetes 目录

在此目录下创建config文件,并将复制的内容粘贴进去

执行

sh start.sh 你的ip 1>start.log 2>/error_start.log &

同样,执行ps -ef | grep start.sh 查看是否拉取完成,看是否有error_start.log日志文件,看有没有异常。

如果没有异常,则可以进行下一步

回到web页面,点击“关闭”

升级

dev,dev,点“升级”

单节点安装部署Cube Studio_第6张图片

点击“编辑YAML”按钮

单节点安装部署Cube Studio_第7张图片

在如下位置

单节点安装部署Cube Studio_第8张图片 添加如下内容

extra_args:     
  service-account-issuer: kubernetes.default.svc
  service-account-signing-key-file: /etc/kubernetes/ssl/kube-service-account-token-key.pem

 同样的,注意缩进!

 点击“保存”

移动命名空间

dev,dev,defalut,命名空间,全选,点击“移动”,选Default,点击“移动”

单节点安装部署Cube Studio_第9张图片

 注意,移动的是上图14个命名空间。

再次点击“dev”,"default",可以看到如下内容:

单节点安装部署Cube Studio_第10张图片

此时,可能会有错误,可以等待自动恢复

如果很长时间无法自动恢复,则可以检查日志:

可以结合查看yaml配置是否正常,来排查安装是否有问题

单节点安装部署Cube Studio_第11张图片

如果这些服务都正常,则可以访问http://xx.xx.xx.xx/myapp/home,进入Cube Studio平台

可以看到如下页面

单节点安装部署Cube Studio_第12张图片

尝试基础功能

单节点安装部署Cube Studio_第13张图片

 单节点安装部署Cube Studio_第14张图片

单节点安装部署Cube Studio_第15张图片

单节点安装部署Cube Studio_第16张图片

单节点安装部署Cube Studio_第17张图片

能够创建一个文件 ,到此,说明平台已经搭建完成,且功能可使用。

友情链接,也可以参考如下视频进行部署:cube-studio 开源一站式云原生机器学习平台 单机部署视频_哔哩哔哩_bilibilicube是tme开源的一站式云原生机器学习平台,目前主要包含1、特征平台,支持在/离线特征;数据源管理,支持结构数据和媒体标注数据管理;2、在线的vscode/jupyter代码开发;在线镜像调试,支持免dockerfile,增量构建;3、任务流编排,在线拖拉拽;开放的模板市场,支持tf/pytorch/mxnet/spark/ray/horovod/kaldi/volcano等分布式计算/训练任https://www.bilibili.com/video/BV18r4y147oj/

rancher高可用

export RANCHER_CONTAINER_NAME=myrancher
export RANCHER_CONTAINER_TAG=v2.5.2

docker stop $RANCHER_CONTAINER_NAME
docker create --volumes-from $RANCHER_CONTAINER_NAME --name rancher-data rancher/rancher:$RANCHER_CONTAINER_TAG
# 先备份一遍
docker run --volumes-from rancher-data --privileged -v $PWD:/backup alpine tar zcvf /backup/rancher-data-backup.tar.gz /var/lib/rancher
docker run --name myrancher-new -d --privileged --volumes-from rancher-data --restart=unless-stopped -p 443:443 rancher/rancher:$RANCHER_CONTAINER_TAG

你可能感兴趣的:(云原生,云原生,云计算,ai,机器学习)