Skip to content

创建资源池承载智能体 ​

资源池列表页

资源池是承载智能体实例运行的计算底座——一组 K8s 调度策略:池容量上限(CPU/内存总和)、Pod 数上限、空闲回收策略,以及目标集群(内置集群或外部集群)。单个 Pod 的 CPU/内存规格不在资源池上配置,而是在部署实例时按需调整(见智能体实例),不调整则按引擎默认规格运行。Hermes/OpenClaw 实例必须绑定资源池才能部署;Dify 外接实例由外部平台运行,不需要资源池。

前提条件 ​

  • 拥有「资源池」创建权限(系统管理员或运维人员)
  • 已规划好:池名称、池容量上限、是否自动回收

创建资源池 ​

  1. 在左侧导航栏,单击资源池管理。

  2. 单击右上角创建按钮。

  3. 在创建表单中填写:

    • 名称:资源池名(如"生产池-Hermes")

    • CPU / 内存容量上限:池内所有 Pod 的资源请求总和上限,达到上限后无法再新建。默认 2 核 / 4Gi,留空表示不限制。各资源池的容量上限合计不能超过目标集群的实际容量,超出时保存会被拒绝;集群扩容后可再调高

    • Pod 数上限:该池最多同时运行多少个 Pod(默认 8),达到上限后无法再扩容;填 0 表示不限制

    • 集群(可选):该池的 Pod 跑在哪个 K8s 集群。默认「内置集群」;需要把负载分散到独立集群时选「外部集群」并提供集群访问凭据(见对接外部 K8s 集群)

    • 回收模式:

      • 自动回收:Pod 空闲 30 分钟自动挂起 → 数据归档 MinIO → 销毁 K8s 资源(节省成本)
      • 手动管理:不自动挂起,需管理员手动操作(适合长期稳定负载)
    • 若选自动回收,还需填空闲挂起分钟数(默认 30)和空闲销毁小时数(默认 24)

  4. 单击保存。列表出现新池卡片,显示上限摘要和实例数(初始为 0)。

预期结果 ​

  • 资源池列表显示新池,2×2 摘要网格正确(CPU/内存上限、Pod 数上限、集群)
  • 卡片底部显示「自动回收」或「手动管理」标签
  • 该池可被智能体实例创建时选择

池容量上限与超限行为 ​

资源池只约束整个池能装下多少,单个 Pod 的规格由部署实例时的「资源规格」决定(不修改则按引擎默认规格运行)。两者独立配置:

配置项作用范围说明
CPU / 内存容量上限整个池池内所有 Pod 的资源请求总和上限;默认 2 核 / 4Gi,留空不限制;各池上限合计不得超过集群实际容量
Pod 数上限整个池池内 Pod 总数上限;默认 8,填 0 不限制

当池容量上限或 Pod 数上限已满时:

  • 新部署实例会被拒绝,提示"资源池容量不足,请扩容资源池或释放闲置实例后重试"
  • 已有实例的自动扩容同样会被拒绝,会话继续由现有 Pod 承载
  • 处于休眠(已挂起)状态的实例不占用池容量,唤醒时会重新校验;若唤醒时池已满,会提示容量不足

调整方式:编辑资源池提高上限,或释放池内闲置实例。系统预置默认池不受此限制(容量不限)。

单 Pod 会话数(会话密度) ​

「最大会话数」指一个 Pod 同时承载多少用户会话,超出后自动扩 Pod。取值按以下顺序确定:

  1. 实例自身设置(在实例详情「运行配置」里填写,默认按当前运行形态自动填充)——优先
  2. 运行模式默认:共享运行 200,独立运行 15

想调整某个实例的会话密度,在实例的运行配置里设置即可,不影响同池其他实例。运行模式说明见智能体实例。

为什么两个模式的默认值差这么多

共享运行(多路复用)一个进程服务全部会话,单 Pod 能承载数百会话;独立运行每个会话一套进程 + 端口,密度低一个量级。按模式给默认值是为了让不了解细节的实例也能跑在合理密度上。

对接外部 K8s 集群 ​

默认情况下,资源池的 Pod 跑在内置集群里。若已有一套独立 K8s 集群(如为满足数据不出域、就近部署或独立扩容),可以把它作为资源池的目标集群——平台仍统一管理实例、部署、监控与回收,只是 Pod 落到那套集群上。

使用前提

要求说明
集群可从平台访问平台的 manager 服务需能直连该集群 API Server(保存时会做一次连通性检查,不通则拒绝保存)
节点端口可被访问引擎经 NodePort 暴露,该端口需对终端用户网络可达
访问地址建议填写该集群的负载均衡地址或域名;不填则回退到单个节点 IP(单点,生产不建议)
实例运行形态外部集群只暴露一个端口,因此仅支持共享运行形态(及 Claude Code / DeepSeek 这类目录式引擎);独立运行形态的实例不能绑定此类资源池

操作步骤

  1. 在资源池表单第 2 步底部,把集群切换为「外部集群」。
  2. 填写集群名称(如 prod-cluster,仅用作标识)。
  3. 粘贴该集群的 kubeconfig:凭据加密存储、仅服务端使用,保存后任何页面都不再回显;再次编辑时留空表示沿用原凭据。
  4. 填写命名空间(留空用默认命名空间)与外部访问地址。
  5. 单击保存——平台先连接该集群校验凭据,通过后才落库。

预期结果

  • 池详情页的配置摘要显示集群名称与访问地址(不显示凭据)
  • 绑定该池的共享运行实例部署后,Pod 出现在该集群中,终端用户经外部访问地址访问

修改与解绑

  • 编辑池时集群与从属字段保持原值;只改 CPU、回收策略等不影响集群配置
  • 把集群切回「内置集群」即解绑,原有凭据一并清除
  • 更换凭据或解绑后,该池后续的部署、扩容、休眠、销毁都会使用新的目标集群;已部署的存量实例需重新部署才会迁移

异常处理

  • 平台无法连接该集群时,该池的部署/扩容会直接失败并提示连接问题;平台不会把 Pod 建到内置集群上替代(避免实例记录与实际位置不一致)
  • 集群被删除或凭据失效时,池内实例的休眠/销毁会保持原状并提示,不会误删其他集群的同名资源
  • 目录式引擎(Claude Code / DeepSeek)与共享运行实例部署在外部集群后,Pod 日志可在资源池详情的「日志」Tab 中查看

查看池中 Pod ​

实例部署后,池中会出现 Pod。查看方法:

  1. 单击资源池卡片进入详情页。

  2. 单击Pod 列表 Tab。

  3. 表格按 Agent 分组展示(同 Agent 的 Pod 合并为一格):

    列说明
    智能体Pod 归属的 Agent 名
    Pod 名K8s Pod 全名
    状态Running 绿 / Pending 黄 / CrashLoopBackOff 红 / Terminating 灰
    重启次数>0 黄色高亮
    启动时间Pod 启动时刻
  4. 单击某行查看日志,跳到「日志」Tab 并预选该 Pod。

看池整体资源消耗 ​

  1. 在资源池详情页,单击监控 Tab。
  2. ECharts 展示池整体 CPU(蓝)和内存(绿)使用率趋势。
  3. 时间范围切换:1h / 6h / 24h / 7d。
  4. 可选显示 request 阈值参考线(资源分配量),判断"实际用量 vs 分配量"差距。

池内有运行实例但趋势图为空时,页面展示"指标数据接入中"占位——表示集群暂未提供资源用量指标(部署要求见部署指南 · 资源监控)。

如果 CPU/内存长期接近 limit,考虑:

  • 编辑池配置提高 limit(仅影响后续创建的 Pod,不影响已运行的)
  • 或新建更大规格的池,迁移实例过来

看 Pod 日志 ​

  1. 在资源池详情页,单击日志 Tab。
  2. 配置日志查看参数:
    • Pod 选择器:下拉选该池中的 Pod
    • 来源:engine stdout(引擎日志)/ gateway per-profile(Gateway 按 Profile 隔离的日志)
    • Profile:选要看的 Profile 配置
    • 尾行数:200 / 500 / 1000 / 2000
    • 自动刷新:开启后定时拉新日志

系统预置默认资源池 ​

系统出厂自带一个「默认资源池」,卡片带「系统预置」标记。它用于承载智能体的调试实例——新建智能体后无需任何资源池配置即可进入调试。

  • 不可修改、不可删除:该池由系统预置,编辑/删除入口不展示(详情页只保留「克隆」)。任何用户都无需(也无法)管理它。
  • 可作为起点:随时可以「克隆」它,得到一个规格相同、归属你自己的新池,再按需调整。
  • 生产实例不受影响:部署上线的生产实例仍只使用你自建的资源池,与默认池无关。

资源池的作用域 ​

类型group_id谁能管理谁能绑实例
平台共享池空仅平台管理员平台所有 Hermes/OpenClaw 实例
组私有池具体 group_id对应组管理员仅本组实例

多实例共享一个池

多个 Hermes/OpenClaw 实例可绑同一个资源池,Pod 按 agent_id 标签隔离,互不干扰。实例详情页会回链到所属池;池的 Pod 列表会显示每个 Pod 属于哪个 Agent。

后续步骤 ​

基于内网部署的企业级 AI 智能体平台