开始使用开发机
开发机简介
在英博云中,开发机以Pod形式启动运行,鉴于原生 K8S Pod 职责相对单一,无法支持开发机的SSH连接、jupyer访问等功能,英博云自研了 Custom Resource:ContainerServer。
一个开发机等同于一个 ContainerServer 类型的资源,通过 ContainerServer Controller 调谐开发机的 Pod,并负责添加网络访问通路等功能。
相比普通的pod,ContainerServer 开发机的额外功能包括:
- 关机自动持久化系统盘,保存用户数据。
- 支持ssh tunnel进行登录访问。
- 支持jupyterlab通路,通过web进行访问。
- 支持将开发机制作为镜像。
- 支持通过dind的方式,在开发机内运行 docker 容器,以及通过
docker build
制作镜像。
创建开发机
创建开发机的入口位于:英博云控制台:资源管理 -> 开发机 -> 创建开发机
,选择合适的集群,填写开发机名称,选择合适的配置及镜像,点击确定
,即可完成开发机创建。 开发机创建,通常需要10~20秒的时间,开发机创建成功后,在开发机列表中展示的状态会变成运行中
。
为开发机挂载存储
在创建开发机页面,可以选择将已有的共享存储卷
或者块存储卷
挂载到开发机的某个目录下,挂载目前通常设置为:/data
,/data2
,以此类推。
开启Docker支持
若是希望在开发机内通过docker build
及docker run
命令,制作镜像或者运行容器,可以在创建开发机时,打开Docker容器
开关。示例如下:
注意:
- 开发机的docker服务,是外挂的docker server,性能有限,仅用于构建/拉取/推送镜像,不适用于启动镜像,并在其中执行推理训练等服务。
- 开发机启动docker容器,不支持通过
-v
参数,mount开发机的路径到docker容器中。
关于开发机的计费模式
- 按量付费:这类工作负载会被英博云调度到
serverless节点池
。这种模式无需特别的前置操作,直接在集群中创建即可。 - 竞价实例:这类工作负载会被英博云调度到
serverless节点池
,并标记为可抢占。使用前需要首先将集群打开竞价实例,参考集群管理。 - 包年包月:这类工作负载会被英博云调度到
专属节点池(包年月包月节点)
。需要首先购买包年包月节点池,参考购买专属节点。 - 预约实例:这类工作负载会被英博云调度到
专属节点池(预约节点)
。需要首先购买预约节点池,参考购买专属节点。
连接开发机
英博云提供3种连接连接开发机的方式:
- JupyterLab
- SSH连接
- kubectl连接
您可以通过:英博云控制台:资源管理 -> 开发机 -> 具体开发机列表项(操作) -> 远程连接 或 JupyterLab
页面,获取具体连接方式,示例如下:
关于SSH连接保活配置
SSH连接建立后,若是长时间没有命令操作,服务端会自动断开以保证安全性。
若是希望关闭这个feature,你可以在发起ssh连接时,附加参数:-o ServerAliveInterval=60
来启用“保活”信号,具体操作如下所示:
# 原始命令
ssh -p 59999 root@ssh-cn-huabei1.ebcloud.com
# 优化命令
ssh -o ServerAliveInterval=60 -p 59999 root@ssh-cn-huabei1.ebcloud.com
这将使得SSH客户端,每隔60秒(你可以调整这个数字),就向服务端发送一个保活数据包,从而避免因为空闲导致的连接断开。
文件传输
可以采用 scp
命令通过 SSH 连接通道进行文件传输,示例如下:
# 上传文件至开发机
scp -P 35832 ./notes.txt root@ssh-cn-huanbei1.ebcloud.com:/data/
# 从开发机下载文件
scp -P 35832 root@ssh-cn-huanbei1.ebcloud.com:/data/notes.txt ./notes_copy.txt
注意:
- 这里端口号、密码均与上面介绍的 SSH 连接方式相同。
开发机关机
您可以通过:英博云控制台:资源管理 -> 开发机 -> 具体开发机列表项(操作) -> 更多 -> 关机
按钮,关闭开发机,开发机关机会自动保存数据。
对于按量付费场景,开发机关机后,实例会停止计费,详见价格与计费
注意:
- 若是开发机使用了系统盘,这部分会在开发关机后继续计费。
- 系统盘会跟随开发机的生命周期,在开发机删除后自动清理。
设置定时关机
您可以通过:英博云控制台:资源管理 -> 开发机 -> 具体开发机列表项(停机时间) -> 设置定时关机
按钮,开启开发机定时关机的功能,并配置定时关机的时间。 定时关机功能,支持修改关机时间,支持取消。
调整开发机配置
您可以通过:英博云控制台:资源管理 -> 开发机 -> 具体开发机列表项(操作) -> 更多 -> 更改实例配置
页面,执行配置调整。
查看开发机事件
您可以通过:英博云控制台:资源管理 -> 开发机 -> 具体开发机列表项(事件) -> 查看
按钮,查看开发机的事件。
开发机内置公共数据
英博云为每个开发机默认添加了/public
目录,这是一个共享目录,存放英博云内置的模型、数据集、网络加速脚本、安装包等。具体如下所示:
注意:
- 开发机内,
/public
目录以只读的方式挂载,用户可以读取、拷贝其中的内容,无法进行写入。- 关于
/public
目录的更多信息,参考这里
制作镜像
博云支持将开发机制作为镜像,方便后续快速恢复训练环境。
您可以通过英博云控制台:资源管理 -> 开发机 -> 具体开发机列表项(操作) -> 更多 -> 保存镜像
,将开发机保存为镜像。
制作的镜像,会存储在
注意:
- 目前将开发机保存为镜像,仅支持在关机状态下操作。
下一步操作建议
开始模型训练:基于DeepSeek进行模型微调的例子。
部署推理服务:部署Higgs Audio v2
模型,实现在线推理。