跳转到主要内容
VSCS 指 VS Code Server,用于在云端运行 VS Code 开发环境。您可以通过浏览器打开 VS Code,也可以启用 SSH 后从本地终端、本地 VS Code、Cursor 等工具连接开发环境。 VSCS 适合多文件项目开发、本地 IDE 远程连接、长时间调试或复用编辑器插件配置。如果只需要 Notebook 交互式分析,可以使用 JupyterLab 开发环境。

选择访问方式

  • 浏览器 VS Code:开发环境运行后,通过浏览器打开 VS Code 页面,适合免安装、轻量开发和临时调试。
  • SSH 连接:通过本地 SSH 客户端或本地 IDE 远程连接开发环境,适合本地工具链、远程开发和多文件项目开发。
两种方式可以单独启用,也可以同时启用。启用后访问的是同一个开发环境,共享同一份文件、Volume 和挂载数据。如果需要 SSH 访问,请先准备 SSH 公钥,并保存对应私钥。

准备 SSH 公钥

如果只使用浏览器 VS Code,可以跳过本节。如果需要通过 SSH 或本地 IDE 连接 VSCS,请先准备 SSH 公钥。 如果还没有 SSH 密钥对,可以在本地生成:
创建 VSCS 开发环境或管理 SSH 密钥时,请只填写 SSH 公钥,不要上传或粘贴私钥。 如需提前保存常用 SSH 公钥,进入 开发环境 > VSCS,打开 SSH 密钥管理。单击 新建 后,填写 SSH 公钥内容和便于识别的标题,例如设备或用途。

创建 VSCS 开发环境

1. 进入创建页

  1. 进入 开发环境 > VSCS。
  2. 单击 新建。

2. 填写配置信息

基本信息

资源信息

提交时平台会校验资源配额和资源池可用量。如果提示配额不足,可减少规格数、更换规格或联系管理员扩容。

环境信息

VSCS 镜像建议包含以下组件:
  • bash:平台启动脚本依赖 bash,缺失可能导致开发环境无法拉起。
  • code-server:启用浏览器 VS Code 访问时需要。建议在镜像中预装,缩短启动时间并提升稳定性。
  • openssh-server 或 sshd:启用 SSH 访问时需要。
  • wget 或 curl:本地 VS Code、Cursor 等通过 Remote-SSH 首次连接时,远程 IDE 可能需要下载 server 组件。
如果镜像缺少 code-server 或 SSH 相关组件,平台可能会在启动时尝试注入。为了缩短启动时间并提升稳定性,建议在镜像中预装所需组件。

高级配置

3. 提交创建

单击 新建 提交。开发环境会异步创建,您可以在列表中查看状态变化。 请求提交成功但列表未立即刷新时,先刷新或搜索开发环境名称,避免重复创建。开发环境进入运行中状态后,建议在详情中确认实际实例、资源池、镜像拉取、存储挂载和服务启动结果。

访问 VSCS 开发环境

通过浏览器打开 VS Code

  1. 进入 开发环境 > VSCS。
  2. 在列表中找到目标开发环境。
  3. 确认开发环境处于运行中状态,且已启用 VSCS 访问方式。
  4. 单击 打开。
打开后会进入浏览器 VS Code。关闭浏览器只会断开访问,不会停止开发环境,也不会释放算力。 在浏览器中打开 VSCS 开发环境

通过 SSH 或本地 IDE 连接

  1. 进入 开发环境 > VSCS。
  2. 打开目标开发环境详情页,复制当前 SSH 连接信息。
  3. 在本地终端、本地 VS Code、Cursor 等工具中使用对应私钥连接。
重启或重调度后,如果连接失败,请优先以详情页当前连接信息为准,并检查本地 SSH 配置是否仍指向旧地址或旧端口。 连接后,请确认工作区目录、Volume、数据集或模型挂载路径符合预期。本地 IDE 的 server 组件、插件和用户配置如果需要复用,建议写入挂载的 Volume。

保存文件、依赖与运行进度

文件、编辑器配置、软件环境和程序运行状态需要分别保存。重建、停止、重调度或删除开发环境前,请先确认各类成果的保存方式。

保存文件和输出

需要长期保留的代码、依赖清单、输出结果和模型文件应保存到已挂载的 Volume。容器本地盘容量有限,写入大量数据可能导致负载被系统驱逐;开发环境重启、迁移或删除后,写入本地盘的数据可能无法恢复。 例如,将项目 Volume 挂载到 /mnt/workspace 后,可以按用途组织目录: 路径名称不决定是否持久,关键是它是否位于有效挂载内。输入数据和输出目录建议分开,避免改写共享数据源。

保存编辑器配置与插件

如果希望重建环境后继续复用编辑器配置、远程 IDE 组件或插件,请在创建或更新 VSCS 开发环境时,将相关配置目录指向自己可写的持久目录。 不同工具建议使用不同目录,多人不要共用同一个可写配置目录。更换镜像、系统架构或 IDE 版本后,请重新检查已保存插件和远程组件的兼容性。

保存依赖为镜像

如果在开发环境中安装了系统依赖、工具链或 Python 包,并希望在新环境中复用,可以将运行中的开发环境保存为自定义镜像。
  1. 保持源开发环境处于运行中状态。
  2. 检查容器可写层中没有不应共享的凭据、密钥、临时数据或敏感文件。
  3. 在开发环境操作中单击 保存镜像,填写镜像信息并提交。
  4. 保存期间保持源开发环境运行,避免停止、删除、重调度或继续大量修改依赖。
  5. 到自定义镜像构建记录确认保存成功,再用新镜像创建开发环境,验证关键依赖是否可用。
已有构建任务、容器大小等条件可能限制保存镜像。保存失败时,查看自定义镜像构建日志定位原因。长期维护的环境仍建议保留 Dockerfile、依赖清单或安装脚本;保存镜像不包含挂载的 Volume、进程内存或运行状态,仅存在于挂载卷中的依赖需要重新挂载该卷或按依赖清单安装。完整的构建记录、日志和镜像复用方式请参见 构建和管理自定义镜像。

保存运行进度

终端进程、调试会话和 GPU 运行状态不会因为浏览器或 SSH 断开而自动保存。长时间实验需要在程序中保存 checkpoint,并在重启后从 checkpoint 恢复。 关闭浏览器或断开 SSH 只会断开访问,不会自动停止开发环境;但原地重启、重调度、停止、自动缩容或删除会中断进程。执行这些操作前,请先保存文件和运行进度。

查看和管理开发环境

查看状态和资源

在 开发环境 > VSCS 列表或详情页查看开发环境状态、资源规格、实际实例、资源池、运行时长和事件,用于判断开发环境是否就绪、资源是否够用或是否长期闲置。 如果开发环境未进入运行中状态,先查看状态详情和事件,再根据提示检查资源配额、镜像组件、卷挂载路径、启动命令、环境变量或访问方式配置。
在详情页的存储信息中,可以查看 Pod 临时存储使用情况。临时存储适合少量可丢弃的运行时文件;代码、插件配置、依赖缓存、调试输出或模型文件等需要保留的数据,应写入已挂载的 Volume。详情请参见 临时存储使用最佳实践。

管理生命周期

创建后,您可以在列表或详情页对 VSCS 开发环境执行生命周期管理操作。

选择启动或重启方式

需要重新使用或重启开发环境时,先按当前状态和目标选择操作。

其他操作

  • 停止:关闭运行中的开发环境并释放算力。开发环境配置和已写入 Volume 的数据会保留。
  • 更新:修改镜像、资源规格、Volume 挂载、数据集或模型挂载、启动命令、环境变量、访问方式或工作区目录配置。资源、镜像或挂载变更可能影响运行,部分变更需要重启后才能生效。
  • 克隆:基于当前配置创建新的开发环境。克隆不会复制完整磁盘、进程内存或未持久化的数据。
  • 保存镜像:将运行中的开发环境保存为自定义镜像,便于后续复用已安装的依赖和工具。保存期间开发环境可能暂时不可用,建议在无交互操作时执行。
  • 调整可见性:将开发环境设置为私有或项目组内公开。调整可见性不影响运行状态。
  • 删除:移除开发环境记录并释放占用资源。删除前,请确认需要保留的数据已保存到 Volume。
排队或状态转换中,部分操作可能不可用。操作失败或长时间未完成时,先查看状态详情和事件,不要反复提交同一操作。

配置定时开关和自动缩容

VSCS 开发环境长时间运行会持续占用算力。您可以按使用习惯配置定时开关或自动缩容,减少闲置资源占用。如果需要运行长时间实验,建议先确认当前是否启用了相关策略,并提前保存文件和进度。

配置定时开关

进入 开发环境 > VSCS,在目标开发环境的 更多 操作中选择 定时开关。 定时开关用于按周期性时间规则自动启动或停止开发环境,适合固定工作时间的开发场景。面板使用六段 cron:秒、分、时、天、月、周,时区为 UTC。 跨午夜时,需要同时调整日期或星期。开发环境内的时区设置不改变 定时开关 面板的 UTC 要求。提交后可通过事件验证计划是否按预期执行;定时启动仍需等待资源调度完成。

配置自动缩容

进入 开发环境 > VSCS,在目标开发环境的 更多 操作中选择 自动缩容。 自动缩容用于按 GPU 利用率和观察窗口判断是否停止开发环境,当前不支持纯 CPU 开发环境。自动缩容触发后不会自动重新启动开发环境;需要继续使用时,请手动启动,或配合定时开关计划启动。 设置窗口和阈值时,需要考虑数据加载、CPU 预处理和正常调试等待。这些阶段 GPU 可能空闲,但程序仍在工作。当前控制流程在无监控样本时也可能缩到 0;启用前请保存文件和进度,并明确后续恢复方式。

处理远程 IDE 组件下载失败

部分 GPU 节点无法联网。本地 VS Code、Cursor 等通过 Remote-SSH 首次连接时,可能需要在远端下载 server 组件或插件。如果目标 GPU 节点无法联网,连接可能卡在下载阶段。 可以先用可联网 CPU 开发环境完成预下载,再切换到目标 GPU 资源规格:
  1. 创建启用 SSH 的 CPU 开发环境,挂载一个持久化 Volume。
  2. 将用户配置目录和插件安装目录设置为该 Volume 中的路径。
  3. 使用本地 VS Code 或 Cursor 通过 Remote-SSH 连接 CPU 开发环境,让远程 IDE 将 server 组件下载到 Volume。
  4. 更新资源规格,切换为目标 GPU 资源规格,并保持同一个 Volume 和相同用户配置目录、插件安装目录。
  5. 再次从本地 IDE 连接开发环境,此时可复用已经下载到 Volume 中的组件。
CPU 和 GPU 两个阶段需要挂载同一个 Volume,并保持用户配置目录和插件安装目录路径一致。

常见问题

查看状态详情和事件,确认所选资源规格、用户剩余配额和资源池可用量是否满足要求。配额不足时,可减少规格数、更换规格或联系管理员扩容。
确认开发环境处于运行中状态,且已启用 VSCS 访问方式;如果反复重启,检查镜像是否包含 code-server,并查看启动命令、环境变量和挂载路径。
确认已启用 SSH 访问方式,并以开发环境详情页当前连接信息为准。再检查本地网络、目标端口和本地 SSH 配置是否可达。
确认平台配置的是公钥,本地使用的是匹配的私钥,并检查本地 IDE 或 SSH 客户端使用的用户名、私钥路径和连接信息。
确认连接地址来自控制台详情页后,可以在本地清除旧记录再重连。
确认开发环境所在节点是否可联网。无法联网时,可先使用可联网 CPU 开发环境完成离线预下载,再切换到目标 GPU 资源规格,并保持同一个 Volume 和相同用户配置目录、插件安装目录。
先确认文件和配置是否写入 Volume。代码、插件配置、依赖缓存和输出结果需要分别持久化;保存镜像不等于备份挂载的 Volume 或进程状态。
提供开发环境类型和 ID、区域和集群、发生时间、状态详情、镜像信息、访问方式以及脱敏后的错误信息。不要发送私钥、访问密钥或带认证信息的完整链接。

相关文档