创建 JupyterLab 开发环境
1. 进入创建页
- 进入 开发环境 > JupyterLab。
- 单击 新建。
2. 填写配置信息
基本信息
资源信息
提交时平台会校验资源配额和资源池可用量。如果提示配额不足,可减少规格数、更换规格或联系管理员扩容。
环境信息
高级配置
3. 提交创建
单击 新建 提交。开发环境会异步创建,您可以在列表中查看状态变化。 请求提交成功但列表未立即刷新时,先刷新或搜索开发环境名称,避免重复创建。开发环境进入运行中状态后,建议在详情中确认实际实例、资源池、镜像拉取、存储挂载和服务启动结果。打开 JupyterLab
- 进入 开发环境 > JupyterLab。
- 在列表中找到目标开发环境。
- 确认开发环境处于运行中状态。
- 单击 打开。
- 进入 JupyterLab 后,确认默认目录、Volume、数据集或模型挂载路径符合预期。

保存文件、依赖与运行进度
文件、软件环境和程序运行状态需要分别保存。重建、停止、重调度或删除开发环境前,请先确认各类成果的保存方式。保存文件和输出
需要长期保留的 Notebook、代码、依赖清单、输出结果和模型文件应保存到已挂载的 Volume。容器本地盘容量有限,写入大量数据可能导致负载被系统驱逐;开发环境重启、迁移或删除后,写入本地盘的数据可能无法恢复。 例如,将项目 Volume 挂载到/mnt/workspace 后,可以按用途组织目录:
路径名称不决定是否持久,关键是它是否位于有效挂载内。输入数据和输出目录建议分开,避免改写共享数据源。
保存依赖为镜像
如果在开发环境中安装了系统依赖、工具链或 Python 包,并希望在新环境中复用,可以将运行中的开发环境保存为自定义镜像。- 保持源开发环境处于运行中状态。
- 检查容器可写层中没有不应共享的凭据、密钥、临时数据或敏感文件。
- 在开发环境操作中单击 保存镜像,填写镜像信息并提交。
- 保存期间保持源开发环境运行,避免停止、删除、重调度或继续大量修改依赖。
- 到自定义镜像构建记录确认保存成功,再用新镜像创建开发环境,验证关键依赖是否可用。
保存运行进度
Notebook 文件只保存代码、Markdown 和已保存的输出内容,不保存完整 Python 进程、GPU 状态或训练进度。长时间实验需要在程序中保存 checkpoint,并在重启后从 checkpoint 恢复。 关闭浏览器只会断开访问,不会自动停止开发环境;但原地重启、重调度、停止、自动缩容或删除会中断 Notebook、脚本和终端进程。执行这些操作前,请先保存文件和运行进度。查看和管理开发环境
查看状态和资源
在 开发环境 > JupyterLab 列表或详情页查看开发环境状态、资源规格、实际实例、资源池、运行时长和事件,用于判断开发环境是否就绪、资源是否够用或是否长期闲置。 如果开发环境未进入运行中状态,先查看状态详情和事件,再根据提示检查资源配额、镜像组件、卷挂载路径、启动命令或环境变量。在详情页的存储信息中,可以查看 Pod 临时存储使用情况。临时存储适合少量可丢弃的运行时文件;Notebook、依赖缓存、Checkpoint、输出结果或模型文件等需要保留的数据,应写入已挂载的 Volume。详情请参见 临时存储使用最佳实践。
管理生命周期
创建后,您可以在列表或详情页对 JupyterLab 开发环境执行生命周期管理操作。选择启动或重启方式
需要重新使用或重启开发环境时,先按当前状态和目标选择操作。其他操作
- 停止:关闭运行中的开发环境并释放算力。开发环境配置和已写入 Volume 的数据会保留。
- 更新:修改镜像、资源规格、Volume 挂载、数据集或模型挂载、启动命令、环境变量等配置。资源、镜像或挂载变更可能影响运行,部分变更需要重启后才能生效。
- 克隆:基于当前配置创建新的开发环境。克隆不会复制完整磁盘、进程内存或未持久化的数据。
- 保存镜像:将运行中的开发环境保存为自定义镜像,便于后续复用已安装的依赖和工具。保存期间开发环境可能暂时不可用,建议在无交互操作时执行。
- 调整可见性:将开发环境设置为私有或项目组内公开。调整可见性不影响运行状态。
- 删除:移除开发环境记录并释放占用资源。删除为不可逆操作,删除前请确认需要保留的数据已保存到 Volume。
配置定时开关和自动缩容
JupyterLab 开发环境长时间运行会持续占用算力。您可以按使用习惯配置定时开关或自动缩容,减少闲置资源占用。如果需要运行长时间实验,建议先确认当前是否启用了相关策略,并提前保存文件和进度。配置定时开关
进入 开发环境 > JupyterLab,在目标开发环境的 更多 操作中选择 定时开关。 定时开关用于按周期性时间规则自动启动或停止开发环境,适合固定工作时间的开发场景。面板使用六段 cron:秒、分、时、天、月、周,时区为 UTC。
跨午夜时,需要同时调整日期或星期。开发环境内的时区设置不改变 定时开关 面板的 UTC 要求。提交后可通过事件验证计划是否按预期执行;定时启动仍需等待资源调度完成。
配置自动缩容
进入 开发环境 > JupyterLab,在目标开发环境的 更多 操作中选择 自动缩容。 自动缩容用于按 GPU 利用率和观察窗口判断是否停止开发环境,当前不支持纯 CPU 开发环境。自动缩容触发后不会自动重新启动开发环境;需要继续使用时,请手动启动,或配合定时开关计划启动。
设置窗口和阈值时,需要考虑数据加载、CPU 预处理和正常调试等待。这些阶段 GPU 可能空闲,但程序仍在工作。当前控制流程在无监控样本时也可能缩到 0;启用前请保存文件和进度,并明确后续恢复方式。
使用 JupyterLab 调试分布式任务
如果需要在 Notebook 环境中临时验证分布式训练脚本,可以创建多个 JupyterLab 开发环境,并在各环境终端中使用同一主节点地址和端口运行torchrun。主节点地址可在主节点环境中通过 echo $POD_IP 获取。
--master_addr、--master_port、--nnodes 和 --nproc_per_node 需要保持一致,--node_rank 按节点顺序分别设置。正式的大规模训练、需要队列调度或需要更稳定容错能力时,建议使用训练任务。
常见问题
开发环境长时间排队或创建失败怎么办?
开发环境长时间排队或创建失败怎么办?
查看状态详情和事件,确认所选资源规格、用户剩余配额和资源池可用量是否满足要求。配额不足时,可减少规格数、更换规格或联系管理员扩容。
JupyterLab 打不开或反复重启怎么办?
JupyterLab 打不开或反复重启怎么办?
确认开发环境处于运行中状态,并检查镜像是否包含
bash 和 JupyterLab 相关组件。再查看启动命令、环境变量和挂载路径,确认初始化命令已经正常退出,且没有持续运行的服务或等待人工输入的命令阻塞启动。Volume、数据集或模型路径不可用怎么办?
Volume、数据集或模型路径不可用怎么办?
确认挂载对象与 Pod 中挂载路径已成对配置,挂载路径没有覆盖系统目录,也没有与其他挂载路径冲突。如果挂载目录无法写入,请检查目录授权、读写权限、容量和限额。
Notebook 导包失败怎么办?
Notebook 导包失败怎么办?
确认 Notebook 使用的 Kernel 与安装依赖时使用的解释器一致。如果依赖安装在容器本地路径,重启、迁移或创建新环境后可能需要重新安装;建议将稳定依赖固化到镜像,或保留依赖清单。
重启后文件、插件或依赖缺失怎么办?
重启后文件、插件或依赖缺失怎么办?
先确认文件和配置是否写入 Volume。Notebook 文件、代码、插件配置、依赖缓存和输出结果需要分别持久化;保存镜像不等于备份挂载的 Volume 或进程状态。
求助时需要提供哪些信息?
求助时需要提供哪些信息?
提供开发环境类型和 ID、区域和集群、发生时间、状态详情、镜像信息以及脱敏后的错误信息。不要发送私钥、访问密钥或带认证信息的完整链接。
