开发机管理
开发机是百舸平台为开发者提供的在线编译、调试代码和模型开发的模块。开发机支持使用 WebIDE 在线开发,或通过 SSH 连接开发机远程开发,也提供了持久化的共享文件系统用于存储开发中的数据。开发机在关机后,平台会释放开发机的算力,通过备份开发机可以保存之前的操作、下载的数据和配置环境等。
创建开发机
开发机创建在已有百舸资源池的指定队列中,与训练任务、推理服务共享资源池GPU/CPU/内存等资源,需根据开发需求合理分配资源,以免对训推任务造成影响。
- 登录百舸异构计算平台控制台,点击左侧导航栏中【模型开发/开发机】进入列表页面
- 点击列表页面左上方的【+创建实例】进入创建页面
- 在创建页面填写相关参数,具体参数如下
字段 | 说明 |
---|---|
实例名称 | 必填,填写开发机的名称 支持小写字母、数字以及 - 且开头必须是小写字母,结尾必须是小写字母或数字,长度1-50 |
资源池 | 必填,选择开发部署的百舸资源池 |
队列 | 必填,选择创建开发机的队列 |
镜像地址 | 必填,选择开发机的镜像 支持百舸镜像、自定义镜像(私有的镜像仓库需要填写用户名和密钥,企业版CCR镜像地址默认为VPC地址,需要在企业版CCR/指定实例详情页/访问控制/私有网络/添加私有网络中配置VPC访问控制策略,添加资源池所在VPC 注意:当前自定义镜像仅支持通过【制作镜像】功能备份的镜像,不支持用户自定义镜像,因此首次创建开发机时需选择【百舸镜像】创建开发机 |
环境变量 | 选填,启动开发机时注入的环境变量,开发过程中使用的密钥等敏感信息可以设置为环境变量 |
加速芯片申请 | 必填,默认不申请,启用时需进一步选择加速芯片类型、加速芯片数 |
加速芯片类型 | 必填,选择加速芯片类型 |
加速芯片数 | 选填,设置加速芯片数,不填写或填写0时表示不带加速芯片 |
CPU | 选填,默认值:不限;设置开发机占用的最多CPU核数 |
内存 | 选填,默认值:不限;设置开发机占用的最大内存大小 |
共享内存 | 选填,默认值10 |
文件系统挂载 | 必填,支持挂载PFS;建议与训练任务选择相同的挂载路径来共享训练集群的文件存储。 |
开启SSH | 选填,默认值:不开启;不开启时默认不显示SSH公钥、开启公网选项 前置条件:开启SSH时,系统会自动为用户在资源池中创建一个BLB |
SSH公钥 | 必填,开发机 SSH 登录时鉴权公钥;处于安全考虑,SSH登录仅支持公钥认证,不支持用户名 + 密码的认证方式。 通常填写发起 SSH 登录机器上的 ~/.ssh/id_rsa.pub 文件内容即可。若该文件不存在,可用 ssh-keygen 命令生成。发起 SSH 登录时,请注意检查私钥是否配对。如需从多台机器发起 SSH 登录可填写多个公钥,也可直接编辑开发机 ~/.ssh/authorized_keys 文件内的公钥列表。 |
开启公网 | 选填,默认值:不开启; 支持两种方式登录,分别为公网登录和私网登录 公网登录:在任意连通公网的机器上,均能使用 SSH 公网指令登录开发机,开发机详情页可以查看公网连接地址。 内网登录:通过内网登录开发机,需确保客户端机器能够连接BLB内网,内网地址为VPC地址,能够访问VPC的机器均可连接开发机。 |
端口号 | 开启公网时必填 自定义指定SSH服务端口号,需在BLB实例设置中放通配置的端口,开发机创建的BLB实例名称以“dev-”开头,例如dev-47e7dcc4 |
- 设置基础信息
- 选择百舸预置镜像
- 设置资源配置
- 设置文件挂载
- 设置SSH远程开发,按需添加SSH公钥以及开启公网
- 完成上述表单的配置后,点击【完成】。会根据提交的表单配置完成开发机的创建
- 可以在开发机列表页中按【资源池】和【队列】快速筛选开发机
开发机生命周期管理
开发机的的生命周期指从创建开始到删除结束,开发机实例所经历的状态。在不同状态,开发机的登录、操作有所不同。 以下介绍开发机状态说明及状态转换说明。
状态 | 描述信息 | 支持操作 |
---|---|---|
创建中 | 开发机正在部署流程中 | - |
排队中 | 开发机正在排队流程中,比如资源池资源不足等情况下,开发机排队等待 | 删除 |
运行中 | 开发机已创建完成,处于运行中;可以通过 WebIDE或 SSH 连接开发机 | Web IDE、关机、重启、制作镜像 |
关机中 | 开发机正在关机流程中 | - |
已创建 | 开发机已创建成功,未启动 | 删除 |
已关机 | 开发机已关机;关机后不会丢失之前的操作和环境,可以通过编辑修改实例、访问和文件系统等配置信息 | 开机、删除 |
创建失败 | 资源不足时,会创建失败,可以尝试手动开机或更换一个较小规格的实例。若多次尝试后依旧无法运行,此时请工单联系平台处理。 | 重启、删除 |
异常 | 开发机异常 | 重启、删除 |
重启中 | 开发机正在重新启动 | - |
通过SSH远程连接开发机
开发机创建成功后,会处于运行中
状态,此时可以通过 WebIDE 和 SSH 连接开发机
可以通过点击列表页或详情页的连接后,选择 WebIDE 或 SSH 连接的方式连接开发机,下文将分别介绍两种方式的操作步骤
配置 SSH 公钥
- 生成密钥对a. 在本地机器上生成公钥和私钥,可以通过
ssh-keygen
命令生成新的公钥私钥文件b. 通过cat ~/.ssh/id_rsa.pub
命令获取本地机器的公钥 - 在开发机创建页面,打开
SSH远程开发
,填写公钥,多个公钥请通过换行输入(请确保本地的私钥文件和填写的公钥文件是一对,否则会连接失败,暂时不支持公钥编辑,因此更新公钥时需要通过【制作镜像】对当前开发机进行备份,然后通过备份镜像创建新的开发机)
连接
- 待开发机为运行中状态时,进入开发机详情页可以查看SSH的连接地址和端口号
-
使用公网或私网登录时,请注意以下信息:
- 公网登录:在任意连通公网的机器上,均能使用 SSH 公网指令登录开发机
- 私网登录:需要通过 SSH 私网指令登录开发机时,请确保输入登录指令的机器处于对应的私有网络内
-
如何通过本地 VSCode 连接开发机
- 在开发机详情页,查看公网/私网登录地址和端口号
- 在本地的 VSCode 开发环境中,安装插件 Remote Explorer。其次单击左侧 Remote Explorer 按钮,在上方的下拉列表中选择 “SSH TARGETS”,再单击页面上的设置按钮,此时会出现 SSH 配置文件路径
- 单击列表中出现的 SSH 路径按钮,打开 config 文件,进行配置。例如SSH公网指令为:ssh -p 12345 root@123.123.123.12,JSON 配置内容如下:
HOST DevInstance test
HostName 123.123.123.12
Port 12345
User root
- 配置 JSON 后,回到 SSH Targets 页面,右键单击开发机点击【Connect to Host in New Window】按钮,连接该开发
-
如何通过 Terminal 连接开发机
- 在生成 SSH 公钥的机器上打开 Terminal 并输入连接指令:ssh -p 12345 root@123.123.123.12(示例)即可连接到远端的计算节点
关闭开发机
若开发机暂时不再使用,可以关闭开发机。在开发机关机后,会释放开发机的算力,直接关机时不会保存之前进行的操作、下载的数据和配置环境等,如需保存开发环境,必须先进行【镜像制作】,对当前开发机进行备份,镜像制作操作详见《备份开发机》章节
- 进入开发机列表页
- 点击开发机列表页的操作项【关机】后开发机即可进入关机流程
重启开发机
开发机重启时不会保存之前进行的操作、下载的数据和配置环境等,如需保存开发环境,必须先进行【镜像制作】,对当前开发机进行备份,镜像制作操作详见《备份开发机》章节
- 进入开发机列表页
- 点击开发机列表页【重启】后开发机即可进入重启中,待重启后可继续使用开发机
删除开发机
若开发机使用已经结束,可以删除开发机。开发机删除后,会释放开发机的算力。
- 进入开发机列表页
- 点击开发机列表页的操作项【删除】后开发机即可进入删除中流程
使用WebIDE开发代码
WebIDE 是开发机提供的在线集成开发环境。百舸开发机基于开源的JupyterLab实现,用户可以直接在浏览器打开WebIDE获得更好的在线开发体验。
- 在开发机列表中通过开发机列表中【Web IDE】操作按钮在新标签打开开发机
-
在JupyterLab控制台进行开发操作,Jupyter使用参考:
- JupyterLab 官方文档
- 中文教程 Jupyter Notebook介绍、安装及使用教程
更改配置
开发机还不支持更改配置操作,后续迭代中会支持,当前需要更改开发机配置(如变更开发机GPU卡数、CPU、内存以及变更SSH密钥、开启关闭外网等操作时),建议操作方法:
- 不需要保留开发机设置时,直接删除后创建新的开发机
- 需要保留开发机设置时,可【备份开发机>恢复开发机】的方式通过先备份再通过备份镜像新建开发机
备份开发机
开发机使用过程中可以通过【制作镜像】功能备份开发机,备份开发机会保存之前进行的操作、下载的数据和配置环境等,在开发机关机、重启、删除之前可以通过【制作镜像】对开发机进行备份,之后可以通过创建新的开发机恢复开发环境
- 进入开发机列表页
- 点击开发机列表页的操作项【制作镜像】后开发机即可进入制作镜像页面
字段 | 说明 |
---|---|
镜像仓库 | 必填,从当前账号下的CCR企业实例中选择 在CCR对应实例中查看镜像仓库用户名和密码,同时需要在企业版CCR/指定实例详情页/访问控制/私有网络/添加私有网络中配置VPC访问控制策略,添加资源池所在VPC |
命名空间 | 必填,从选中CCR实例中选择 |
镜像名称 | 必填,默认填充当前开发机启动的镜像名称 |
镜像版本(tag) | 必填,默认填充当前开发机启动镜像的标签+时间戳,允许修改 |
恢复开发机
在开发机删除、关机后,可以通过选择【镜像制作】保存的自定义镜像创建开发机,开发机创建后环境与制作镜像所使用的开发机一致。