RIRS云平台用户手册

版本:v1.2

日期:2023/9/1

维护:[email protected]

使用说明

1. 登录注册

未开放用户注册功能,如需使用请联系管理员@xuanh.w授权。

image-20230821200831446

2. 用户界面

image-20230821200918422

用户界面包含总览、任务中心、样本仓库、模型库、容器管理、用户资源六大模块。

  • 总览:大致暂时用户目前的资源和任务等,截至目前,实现为假数据,仅供观看

  • 任务中心:创建任务,管理任务,查看任务日志等

  • 样本仓库:查看样本、上传样本

  • 模型库:查看模型、管理模型

  • 容器管理:容器与镜像管理,代码在线编辑与运行

  • 用户资源:开发中…

3. 容器管理

是最常用也是最核心的模块,代码在线编辑和运行,创建和发布模型等

image-20230821201925231

在使用前需要先了解镜像和容器的概念。

镜像定义来自Docker容器化技术中的镜像概念,可以理解为虚拟机的模板、快照等,可以根据镜像快速创建出一个容器(虚拟机)。容器,即是由镜像创建出的虚拟机,可以通过Editor访问操作容器。

镜像由名称和版本标识,一个名称下可以有多个版本。为了便于用户访问与使用镜像,引出Editor的概念。

Editor是用户操作和访问容器(虚拟机)的窗口,目前支持code-serverweb-top两种交互方式。code-server可以理解为web版的vscode,提供与桌面版vscode相同的开发体验。web-top即是web桌面,目前仅支持xfce桌面,包含web-topEditor的镜像创建出的容器具有桌面环境,否则为命令行环境(无法运行依赖桌面的程序)。

新建容器

创建一个可交互的虚拟机

根据需求选择镜像创建一个虚拟机,预定义了一部分镜像。如pytorch镜像有多个版本,1.13_11.6_8版本代表pytorch版本为1.13,cuda为11.6,cudnn为8.x版本。

image-20230821202930566

我们以pytorch:1.13_11.6_8为例创建一个容器。

  1. 单击右侧的新建容器,可以根据需要选择所需的资源,CPU核心数目前支持1-8核,内存支持1-16G,显卡支持0-5。分配的最终资源大小根据资源池中所剩资源可能会动态调整,实际资源浮动率在0.5-2倍,即在创建时指定8核,最多可能可以使用16核的资源,最低为4核的资源;内存同理。显卡资源为独占,不会动态调整。申请显卡资源数量大于1时,需要向管理员申请。用户可调配的默认资源数为1张显卡1个容器,即当创建第二个容器时,也需要管理员审核。

image-20230821203301275

  1. 容器信息。创建完成后,可以在容器列表中看到容器的相关信息,当状态切换到运行中时代表容器创建完成,使用默认镜像创建通常1min内可以创建完成,需要用户点击容器列表旁的刷新符号手动刷新查看最新状态。

image-20230821203740250

  1. 访问Editor。当容器状态为运行中时可以点击Editor访问vscode,或Web-VNC访问桌面。

image-20230821204057320

image-20230821204146310

3.1 web-top访问。单击Web VNC

image-20230821204254275

image-20230821204437424

直接点击连接无法连接到桌面,需要点击右侧齿轮图标设置URL

image-20230821204615028

此处的值设置需要参考当前页面URL值,如下图红框部分。最终值为:红框部分值+/websockify,以下图为例,值为:web-top/e37b1e82-6eb6-4ba6-874f-04909b5498fd/websockify

image-20230821205040353

修改完毕后,点击连接,若提示无法连接服务器,请检查输入路径是否有误!

正常情况如下图所示:

image-20230821205144040

输入密码为:WHU@123,回车或单击Send Credentials按钮,即可进入桌面。默认未安装显卡驱动和cuda,请自行安装。

image-20230821205259365

3.2 code-server访问。

单击Editor即可访问code-server页面,但是受限于校园网内网环境,无https签名证书,部分功能(如图片和pdf浏览)可能受限,可自行下载自签名证书安装后使用,windows系统双击安装,其余操作系统请参考网络。

3.3 特殊目录介绍

/data下有privatepublicshareuser目录

  • private:读写。私有空间,仅当前登录用户可见

  • public:只读。公共空间,存储管理员发布的资源,通常为样本

  • share:只读。用户共享空间,存储用户自发共享的文件(未实现)。

  • user:读写。私有空间,是private下的子集,为便利用户操作而独立出来。

各个目录下的二级目录代表数据源,目前有defaultnfs_ds1nfs_ds2数据源

  • default:总大小20T。默认数据源,/data/user其实就是private空间下的默认数据源的链接。

  • nfs_ds1:总大小100T

  • nfs_ds2:总大小100T

!!注意:请使用/data/user目录存储需要持久化的数据,如代码等,该目录下的数据在重建容器后仍然存在,否则数据与容器绑定,删除容器后丢失!!

4. 镜像管理

镜像来源分为管理员上传和容器保存。镜像即一个预搭建的虚拟机环境模板,可以根据模板创建出虚拟机。根据需要预先构建装有cuda、pytorch等环境库的镜像模板,直接构建容器,可以省去重复安装环境的麻烦。

新建镜像

从容器保存镜像,即在镜像创建容器后,通过Editor进入容器,安装修改环境后,将修改后环境保存的方案。

下面展示从容器保存镜像的流程:

  1. 在容器列表中,点击运行中容器的保存为镜像按钮

    image-20230901114031987

    image-20230901114119056

  2. 输入镜像名称和镜像版本号,描述为选填。镜像唯一id由名称:版本号组成,相同名称下的版本号唯一。

注1:如果容器修改内容较多,保存所需时间会较长,请耐心等待。

注2:挂载目录/data指定目录下的数据并不会随镜像一起打包,而是创建容器后重新挂载。位于其他目录下的数据会随着保存镜像一起打包。如需发布成模型(模型参考第5节)的必须的数据不应置于/data下的特殊目录中,否则创建模型时无法访问。

5. 模型发布(beta)

模型是用于执行非交互式任务(参考第6节)的工具,其本质也是镜像的一种,通过修改镜像的启动命令来达到执行任务的目的。

发布模型

即新建模型,根据修改镜像的启动参数来达到发布模型的目的。

  1. 点击镜像列表下的发布为模型按钮,输入模型的参数

image-20230901115448667

  1. 输入参数。模型工作目录指通过模型启动任务时,运行程序位于哪个目录下,如果程序中包含相对路径,请仔细核对后填写,否则可能导致任务执行失败。模型执行命令指任务启动后,模型需要执行的命令,命令执行完毕后任务推出,故必须为阻塞式的。

image-20230901115459595

  1. 命令参数。单击+新增配置后可填写额外的命令行参数,暂时只支持具名参数,例:python test.py --epoch 10--epoch 10即为具名参数,目前仅支持--arg_name arg_value形式的参数,类似-a 1或者--xx,xxx-xx的参数可以直接填写到执行命令中。

    此处的参数项中只填写参数名,参数值用于后续用户使用时在任务创建时填写。参数提示名通常为参数的中文名称,会在使用模型时显示。

  2. 示例:

    image-20230901120950858

模型库

image-20230901121039523

模型库中列举了当前用户创建的模型和公开的模型,可以单击配置修改用户创建的模型。

image-20230901123058532

6. 任务管理(未完成)

任务是非交互性的,区别于容器。任务通过指定模型与数据,设置参数,实现自动化运行。

image-20230901123340535

创建任务

单击创建后进入创建任务流程。

image-20230901123446521

输入任务名称,选择类型,并配置相关资源。

image-20230901123550765

选择数据集(可不选),仅作为标记,无论是否选择,数据集都会挂载到任务容器中。

image-20230901123700081

选择模型,如果模型有参数,还需输入模型运行参数。

image-20230901123723517

模型创建完成后,会创建相关容器用于运行任务,若模型进入运行流程,可单击右侧日志查看运行日志。

image-20230901123842042

python -c “print(‘test’)”的日志输出

运行完毕后同样可以查看日志

image-20230901124017361

结果用于提供用户下载任务产出数据,仍在开发中…

开发文档

1. 平台技术栈

前端

Repo: https://github.com/Rainlv/dlplat-fe/tree/k8s

开发框架:vue3、vue-router

样式库:element-plus

后端

Repo: https://github.com/Rainlv/dlPlat/tree/k8s

Web框架: Spring Cloud、Spring Cloud gateway

数据库:Mysql、redis

部署

集群管理:k8s

镜像仓库:harbor

服务配置中心:nacos

分布式文件系统:NFS


RIRS云平台用户手册
http://blog.rainna.xyz/2023/08/21/RIRS云平台用户手册/
作者
rainnalv
发布于
2023年8月21日
许可协议