> ## Documentation Index
> Fetch the complete documentation index at: https://starforge.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# 部署选型

> 四种执行后端：local、node、kuberay、slurm

Console 是一个控制面进程。训练容器落在哪，是作业被放到的那个 **Fleet** 的属性，所以一个 console 可以同时挂着好几个后端（见 [Fleet](/zh-Hans/ops/fleets)）；`FORGE_DEFAULT_FLEET_KIND` 只决定首次启动时替你种下哪一种。用户命令不变。配错后端不会在运行时偷偷换到另一个。

## 对比

|            | **local**                         | **node**                   | **kuberay**                | **slurm**                                       |
| ---------- | --------------------------------- | -------------------------- | -------------------------- | ----------------------------------------------- |
| 训练载体       | console 本机 Docker                 | 远程节点 Docker（`forgelet`）    | K8s RayJob（head + workers） | slurmrestd allocation（Enroot/Pyxis 或 Apptainer） |
| 规模         | 单机 1–8 卡                          | 多台单机作业                     | 多节点                        | HPC 多节点                                         |
| 跨节点 gang   | 否                                 | 否（Phase 1；gang 以后再说）       | 是                          | 是（`srun` + Ray）                                 |
| 异构多池       | 否                                 | 否                          | 是（worker group）            | 是（hetjob + constraint）                          |
| 作业代码       | 宿主目录挂载                            | 共享存储（`FORGE_STORAGE_ROOT`） | 对象存储 + 容器自举                | 共享存储（`FORGE_STORAGE_ROOT`）                      |
| Playground | 是                                 | 否                          | 是（vLLM Pod）                | 否                                               |
| 额外依赖       | Docker + NVIDIA Container Toolkit | 每节点 daemon + 共享盘           | K8s + KubeRay + 对象存储       | slurmrestd（JWT）+ 容器运行时                          |
| Console 放哪 | 必须和 GPU 同机                        | 能打到各 agent、能挂同一共享盘即可       | 集群内，或带 kube token          | 能打到 slurmrestd、能挂共享盘即可                          |

## 怎么选

```mermaid theme={"theme":{"light":"github-light","dark":"github-dark-dimmed"}}
flowchart TD
    A["手里有什么算力？"] --> B["一台 GPU 机器"]
    A --> C["几台裸机，没有 K8s"]
    A --> D["已经有 Kubernetes"]
    A --> E["机房已经是 Slurm"]
    B --> L["local"]
    C --> AG["agent"]
    D --> K["kuberay"]
    E --> S["slurm"]
```

* **一台机器**：`local`。零件最少。
* **两三台到八台，不想上 K8s 也没有 Slurm**：`agent`。console 不再需要 Docker socket。
* **已经在维护 K8s**：`kuberay`。一作业一个临时 RayCluster，K8s 负责回收。
* **已经在跑 Slurm**：`slurm`。平台只做提交和观测，站点调度器仍管队列。

## 分页面

<CardGroup cols={2}>
  <Card title="通用安装" icon="download" href="/zh-Hans/ops/install">
    Console 进程、数据库、对象存储、反向代理
  </Card>

  <Card title="Fleet" icon="layers" href="/zh-Hans/ops/fleets">
    注册机器、join token、排空、存活判定
  </Card>

  <Card title="local" icon="hard-drive" href="/zh-Hans/ops/executor-local">
    单机 Docker
  </Card>

  <Card title="node" icon="monitor" href="/zh-Hans/ops/executor-node">
    裸机机器跑 forgelet
  </Card>

  <Card title="kuberay" icon="boxes" href="/zh-Hans/ops/executor-kuberay">
    Operator、RBAC、作业包分发
  </Card>

  <Card title="slurm" icon="network" href="/zh-Hans/ops/executor-slurm">
    slurmrestd、runtime profile、hetjob
  </Card>
</CardGroup>
