中文EN
ResearchX Docs
中文

执行平台

管理台只读展示由部署配置驱动的执行平台信息

执行平台

执行平台页面用于展示当前部署所使用的运行后端配置。该页面现在是只读的:执行模式和 Kubernetes 相关参数来自部署配置,而不是应用内在线编辑。

概述

执行平台决定了系统如何创建和管理容器:

  • Docker 模式:通过 Docker Engine 创建和管理容器
  • Kubernetes 模式:通过 Kubernetes 运行后端和集群资源执行容器
  • Slurm 模式:通过 Slurm 调度 process action,并用 Apptainer/SIF 运行工作负载

管理员查看

入口:管理 → 执行平台/workspace/admin/execution-platform

当前设置

  • 运行模式:由 EXECUTION_PLATFORM_MODE 决定
  • Kubernetes 配置:在启用 Kubernetes 模式时,从部署环境变量中读取
  • Slurm 配置:在启用 Slurm 模式时,从部署环境变量中读取

部署变量

EXECUTION_PLATFORM_MODE=kubernetes 时,需要配置:

  • K8S_NAMESPACE
  • K8S_SERVICE_ACCOUNT
  • K8S_WORKSPACE_PVC_NAME
  • K8S_WORKSPACE_ROOT_PATH
  • K8S_IMAGE_PULL_SECRET_NAME(可选)
  • K8S_REGISTRY_REPO_PREFIX(可选)
  • K8S_JOB_TTL_SECONDS(可选)
  • RESEARCHX_K8S_EPHEMERAL_JOB_TIMEOUT_SEC(可选,默认 600;当 runtime 或 step 未配置超时时,设置为 0 表示一直等待)

K8S_REGISTRY_REPO_PREFIX 会应用到未显式包含仓库域名的 Kubernetes 运行镜像。例如 python:3.12-slim 会变为 <prefix>/python:3.12-slim,而 ghcr.io/acme/tool:latest 会保持不变。

对于长时间运行的 process action,可以通过 runtime 的 config.timeouts.max_execution_sec 或 agent step 的 timeout_sec 设置墙钟时间限制。值为 0 表示不设置应用层等待超时,适合可能运行超过 24 小时的 Kubernetes Job。

在 Kubernetes 模式下,内置运行资产会在启动或版本刷新时发布到 workspace PVC。用户管理的全局资产仓库默认使用 AGENT_WORKSPACE_ROOT/global/repositories/*AGENT_WORKSPACE_ROOT/global/global-skills/repositories 下的实时 workspace 存储,因此同步、导入、编辑操作会直接对运行时 Pod 可见,不需要重建内置资产 bundle。

EXECUTION_PLATFORM_MODE=slurm 时,需要配置:

  • RESEARCHX_SLURM_TRANSPORT:线上/HPC 部署推荐 local-cli,Docker 单容器开发环境使用 ssh-docker-exec
  • RESEARCHX_SLURM_REMOTE_WORKSPACE_ROOT:Slurm job 和 Apptainer 可见的共享 workspace 根目录
  • RESEARCHX_SLURM_APPTAINER_CACHE_ROOT:OCI 镜像转换为 SIF 后的缓存根目录
  • RESEARCHX_SLURM_DEFAULT_PARTITION(可选)
  • RESEARCHX_SLURM_GPU_GRES_NAME(可选,默认 gpu
  • RESEARCHX_SLURM_SIF_CACHE_MAX_IMAGES(可选,默认 50
  • RESEARCHX_SLURM_ACTION_POLL_INTERVAL_MS(可选,默认 3000;检查 action exit_code 文件的间隔)
  • RESEARCHX_SLURM_ACTION_SQUEUE_INTERVAL_MS(可选,默认 10000;两次 action Slurm 队列状态检查之间的最小间隔)
  • RESEARCHX_RUNTIME_JOB_MISSING_GRACE_MS(可选,通用 runtime job 缺失宽限时间)

如果是本地连接单容器 Slurm 开发环境,还需要配置:

  • RESEARCHX_SLURM_SSH_HOST
  • RESEARCHX_SLURM_SSH_USER
  • RESEARCHX_SLURM_CONTAINER
  • RESEARCHX_SLURM_DOCKER_EXEC_USER=root
  • RESEARCHX_SLURM_WORKSPACE_OWNER=1000:1000

Slurm 模式下,AGENT_WORKSPACE_ROOT 必须指向 Slurm job 通过 RESEARCHX_SLURM_REMOTE_WORKSPACE_ROOT 能看到的同一份共享文件系统。线上部署建议使用相同共享路径,例如 AGENT_WORKSPACE_ROOT=/workspacesRESEARCHX_SLURM_REMOTE_WORKSPACE_ROOT=/workspaces。本地开发可以用 SSHFS 挂载,详见 slurm/README.md.env.slurm.conf

Action 和项目镜像可以继续使用普通 OCI image ref,系统会自动转换并缓存为 SIF;也可以直接配置 SIF 绝对路径,例如 /workspaces/shared/images/tool.sifsif:///workspaces/shared/images/tool.sif。SIF 路径必须是 Slurm/Apptainer 运行环境可见的绝对路径。

风险提示

  • 切换执行平台会影响所有持久化环境与后续 agent 进程执行
  • 应通过部署配置完成切换,并在低风险窗口重启服务
  • 重启应用前请确认目标后端配置完整可用

与其他管理模块的关系

执行平台与以下管理模块协同工作:

相关文档