管理员操作手册
管理员角色有独立的管理界面方便对集群的用户、算力、镜像、容器进行管理。对于管理员界面可以在右上角的下拉菜单中看到管理员界面的入口。
进入后可以看到如下的界面:
这里首先介绍常见的管理场景,后面我们将逐一介绍管理员的基本操作。
管理场景
新建集群 & 集群添加机器的场景
当集群刚刚建立或者集群刚刚增加了新的 gpu 机器后通常需要做以下工作:
- 配置「GPU」类型和个数
- 依据集群规模创建「算力资源(Resource)」,并设置合理的个数
增加用户
两种方式:
用户资源添加
在「管理用户资源」 下为用户增加相应的资源。
用户管理
用户的浏览和筛选
进入管理员界面后可以看到用户的列表页,展示了集群中所有的用户,通过搜索框可以按照 username email 或者手机号筛选用户。
创建用户
点击界面下面的「创建新用户」管理员可以直接创建新的用户,创建成功后会自动发送邮箱验证邮件提醒用户验证邮箱并登录。
管理用户资源
在用户浏览页面点击任意一个用户可以查看该用户的关键信息,包括「基本信息」「用户资源」「用户并行限制」。
从用户视角查看用户资源
在用户信息页面可以看到一个「切换至当前用户视角」点击后管理员会以该用户的视角查看用户的资源,左侧的「算力容器」「数据集管理」等导航链接将默认跳转至该用户的页面。此时管理员可以方便的查看该用户的相关资源。
点击顶部提示条的「退出」将再次回到管理员视角。
查看并增加用户资源
在「用户资源使用状况」部分可以看到用户目前的资源用量和余额,包括计算资源和存储资源。点击「用户资源设置」可以为用户增加计算资源或者是存储资源,并且选择这次增加的资源的有效时间。
资源的默认有效时间是「永久」,也可以选择「一个月」「三个月」这样的期限。这意味着该资源在此期间有效,对于计算资源在此期间使用是有效的,如果在此期间没有用尽,超过该时间范围后就不再能使用;对于存储资源在该有效期过后该用户的存储总量将减少至添加前的额度。例如用户默认的存储资源为 10GB,如果为用户增加有效期为三个月的 50GB 的存储,那么在此期间用户有 60GB 的存储空间;但是在三个月过后,用户的存储总量限制将会再次被调整至 10 GB。
查看并更新用户的资源限制
用户的资源限制目前分两种,一种是同类计算资源的并行限制,另一种是不同类型的数据集的个数。
容器管理 & 数据集管理
管理员可以查看浏览集群内所有的容器,按照「状态」和「类型」筛选,可以方便的看到当前集群中处于不同状态的容器。
通过点击页面上的容器链接可以进入容器的详情页面查看容器的日志信息并有权限关停容器。
数据集管理和容器管理类似,这里不再赘述。
GPU
设置集群中不同类型 GPU 的总个数,这个个数必须小于等于实际集群中可用的 GPU 个数,大于实际个数会导致相应的资源无法成功运行。
资源管理
这里的资源(Resource)是指集群中能够被用户运行起来的算力资源。每个资源需要定义该资源所需要的 cpu gpu 内存 硬盘四个维度。
一个集群的算力总和是由集群的机器节点决定的,但是具体要对算力资源如何划分是管理员以 resource 的配置决定的。对于一个拥有 10 个 T4 类型 GPU 的计算集群来说,管理员可以依据需求将每两个 T4 类型的显卡绑定为一个算力资源构建成 5 个 resource,这就意味着该集群可以最多同时运行 5 个这样类型的容器;也可以将每一个 T4 类型分配为一个资源构建成 10 个 resource,这就意味着该集群可以同时运行 10 个这样类型的容器。
集群资源的分配一定要遵循实际情况,例如拥有 10 个 T4 GPU 的集群就不能创建 11 个单卡的容器,如果管理员分配了 11 个单卡资源,那么第 11 个容器将不能够被成功调度。
镜像管理
镜像提供了容器执行时所依赖的主要的机器学习算法库的种类。目前 OpenBayes 提供了 Tensorflow
PyTorch
MxNet
CPU 和 GPU 环境下不同版本的标准库。但是管理员也可以依据自身需要增加自定义的镜像,每个镜像下的依赖情况都可以在 运行时环境 看到。
自定义镜像
如上图所示,在「管理员控制台」
- 「镜像」
页面展示了每一个运行时镜像的名称、对应框架、支持设备类型以及所报错的镜像位置。
系统初始化时只有系统预置镜像,无法被删除:
如果需要增加额外的自定义镜像,其镜像必须从预置镜像进行构建。在 运行时环境 下可以看到所有镜像的依赖情况。
例如如果需要在 PyTorch-1.6.0
的基础上增加一些额外的自定义依赖可以指定如下的 Dockerfile
:
FROM openbayesruntimes/pytorch:1.6.0-py36-cu101.47
RUN conda install seaborn
然后执行以下操作构建并推送镜像到镜像仓库:
docker build . -t <your-registry>/<your-image-name>:<your-tag>
docker push <your-registry>/<your-image-name>:<your-tag>
创建自定义镜像时有以下几点需要特别注意:
- 由于 OpenBayes 容器的启动依赖于预置镜像中一些通用的配置和依赖,自定义镜像必须在原有的 OpenBayes 的预置镜像上构建,否则可能出现容器无法启动的情况。
- 在 运行时环境 的容器列表下可以看到,对于同一个框架、同一个版本需要提供
cpu
与gpu
的镜像,那么添加自定义镜像时通常需要添加支持cpu
和gpu
的一对镜像,这样才能保证两种算力资源下都能够启动该镜像,缺少相应设备的镜像时会导致创建对应算力资源下的容器时报错。 - 确保所提供的镜像为集群可以访问到的,推荐使用对应内网的镜像仓库
添加新镜像
构建完成后可以在 「镜像」
- 「创建新镜像」
这里配置相应的名称以及镜像读取的位置:
之后在创建容器时就可以选择这个自定义镜像了。
邀请
用于管理注册用户,对于私有集群来说主要是方便各个部门的人员管理,使用「批量邀请码」配置邀请码的使用次数、注册后自动绑定的「用户分组」可以方便给各个部门配置算力资源。
商品
对于私有部署用户来说主要是用于为各个「分组」的用户提供周期性的配额的资源,避免个别用户使用超量的资源影响其他人的工作。因此对于私有部署用户来说,只有创建「免费」商品的场景,切勿创建付费商品。
分组
分组可被用于说明用户渠道以及管理每周提供的免费资源。
通过为分组绑定免费的商品可以使该分组内的用户以周为单位的更新相应的资源。该机制是提供免费的资源,因此在绑定商品时有如下限制:
- 只能绑定免费的商品,在绑定商品列表里默认已经过滤掉了付费的商品;
- 资源按周为单位更新,因此只能绑定非永久期限的商品,不同的环境每周更新的时间有所不同;
- 用户分组变化后会在下一个更新时间更换相应的免费额度计划,如每周更新时间为周一11点整,如果在周二为用户更改的分组,那么将在下周一11点更新相应的计划;