Files
FastGPT/deploy/helm/opensandbox/examples/DIRECTORY_STRUCTURE.md
T
Archer 567d408158 Action and opensandbox deploy (#6572)
* action

* action

* action

* build: integrate OpenSandbox as Agent Execution Sandbox (#6490)

* Update action (#6571)

* action

* action

* action

* action

* action

* build: integrate OpenSandbox as Agent Execution Sandbox

# Conflicts:
#	deploy/args.json
#	deploy/dev/docker-compose.cn.yml
#	deploy/dev/docker-compose.yml
#	deploy/docker/cn/docker-compose.milvus.yml
#	deploy/docker/cn/docker-compose.oceanbase.yml
#	deploy/docker/cn/docker-compose.pg.yml
#	deploy/docker/cn/docker-compose.seekdb.yml
#	deploy/docker/cn/docker-compose.zilliz.yml
#	deploy/docker/global/docker-compose.milvus.yml
#	deploy/docker/global/docker-compose.oceanbase.yml
#	deploy/docker/global/docker-compose.pg.yml
#	deploy/docker/global/docker-compose.seekdb.yml
#	deploy/docker/global/docker-compose.ziliiz.yml
#	deploy/templates/docker-compose.prod.yml
#	document/public/deploy/docker/cn/docker-compose.milvus.yml
#	document/public/deploy/docker/cn/docker-compose.oceanbase.yml
#	document/public/deploy/docker/cn/docker-compose.pg.yml
#	document/public/deploy/docker/cn/docker-compose.seekdb.yml
#	document/public/deploy/docker/cn/docker-compose.zilliz.yml
#	document/public/deploy/docker/global/docker-compose.milvus.yml
#	document/public/deploy/docker/global/docker-compose.oceanbase.yml
#	document/public/deploy/docker/global/docker-compose.pg.yml
#	document/public/deploy/docker/global/docker-compose.seekdb.yml
#	document/public/deploy/docker/global/docker-compose.ziliiz.yml

* remove invalid  action

---------

Co-authored-by: Archer <545436317@qq.com>
Co-authored-by: xqvvu <whoeverimf5@gmail.com>

* action

---------

Co-authored-by: chanzany <chenzhi@sangfor.com.cn>
Co-authored-by: xqvvu <whoeverimf5@gmail.com>
2026-03-16 20:46:26 +08:00

6.2 KiB
Raw Blame History

Examples 目录结构

本文档说明 examples/ 目录的组织结构和设计原则。

📂 目录结构

examples/
├── README.md                          # 主文档:快速开始、最佳实践
├── DIRECTORY_STRUCTURE.md             # 本文档:目录结构说明
├── pool-examples.md                   # 详细的 Pool 配置说明
│
├── pool-agent-production.yaml         # 🌟 生产级 Agent Pool(推荐)
├── pool-sdk-compatible.yaml           # SDK 基础 Poolexecd only
├── pool-sdk-with-tasks.yaml           # SDK 完整 Poolexecd + task-executor
│
├── batchsandbox-basic.yaml            # Non-pooled 模式示例
└── batchsandbox-with-tasks.yaml       # Pooled 批量任务示例

📝 文件分类

Pool 配置文件(3 个)

文件 类型 SDK 支持 自定义 entrypoint 推荐度
pool-agent-production.yaml 生产级
pool-sdk-with-tasks.yaml 完整功能
pool-sdk-compatible.yaml 基础功能

选择建议

  • 生产环境:使用 pool-agent-production.yaml(包含详细注释和最佳实践)
  • 快速测试:使用 pool-sdk-with-tasks.yaml(更简洁)
  • 特殊需求:如果不需要自定义 entrypoint,使用 pool-sdk-compatible.yaml

BatchSandbox 配置文件(2 个)

文件 模式 依赖 用途
batchsandbox-basic.yaml Non-pooled 演示直接创建 Pod
batchsandbox-with-tasks.yaml Pooled Pool 演示批量异构任务

使用说明

  • SDK 场景:通常不需要手动创建 BatchSandboxSDK 自动创建)
  • kubectl 场景:用于批量任务执行(RL 训练、压力测试等)

文档文件(3 个)

文件 内容 面向用户
README.md 快速开始、最佳实践、故障排查 所有用户
pool-examples.md Pool 详细配置说明 高级用户
DIRECTORY_STRUCTURE.md 目录结构说明 开发者

🎯 设计原则

1. 简化选择

问题:之前有太多相似的示例(pool-basic, pool-with-execd, pool-with-task-executor...),用户不知道选哪个。

解决

  • 保留 3 个 Pool 示例,明确分类和推荐度
  • 删除误导性示例(pool-basic 无 execdpool-with-task-executor 无 execd
  • 突出推荐 pool-agent-production.yaml

2. 面向实际场景

问题:示例文件缺乏实际使用场景说明。

解决

  • 明确标注适用场景(Agent 服务、RL 训练、压力测试等)
  • 提供完整的 SDK 使用代码示例
  • 包含部署、验证、监控的完整流程

3. 最佳实践优先

问题:缺少生产级配置参考。

解决

  • 创建 pool-agent-production.yaml 包含:
    • 详细的配置注释
    • 容量规划建议
    • 安全最佳实践
    • 监控和调试指南

4. 纠正常见误区

问题:用户容易误解 Pool 的使用方式。

解决

  • 在 README.md 中突出"常见误区"章节
  • 明确说明:
    • Pool 是 Pod 池,不是 Sandbox 池
    • 不需要预创建 BatchSandbox
    • SDK 每次 create() 创建新 BatchSandbox

🔄 文件变更历史

删除的文件(4 个)

文件 删除原因
pool-basic.yaml 无 execd,SDK 无法使用,误导性
pool-with-task-executor.yaml 只有 task-executor 无 execd,不完整
pool-with-execd.yaml execd 启动方式不标准,已被 pool-sdk-compatible.yaml 替代
batchsandbox-pooled.yaml 依赖不存在的 basic-pool,无效

新增的文件(1 个)

文件 内容
pool-agent-production.yaml 生产级 Agent Pool 配置,包含详细注释和最佳实践

修改的文件(3 个)

文件 修改内容
README.md 重写,添加场景分类、常见误区、容量规划等
batchsandbox-with-tasks.yaml 修改 poolRef 为 agent-pool,添加注释
batchsandbox-basic.yaml 添加详细注释说明

📊 使用场景映射

场景 A:多 Agent 并发使用

用户需求: Agent 服务、Code Interpreter、动态工作流
      ↓
推荐配置: pool-agent-production.yaml
      ↓
  使用方式: SDK 动态创建 sandbox
      ↓
    流程: Helm 部署 Pool → SDK.create() → SDK.kill()

场景 B:批量任务执行

用户需求: RL 训练、压力测试、批量数据处理
      ↓
推荐配置: pool-agent-production.yaml + batchsandbox-with-tasks.yaml
      ↓
  使用方式: kubectl 创建 BatchSandbox
      ↓
    流程: kubectl apply pool → kubectl apply batchsandbox → 自动清理

场景 C:测试和开发

用户需求: 测试特定镜像、验证功能
      ↓
推荐配置: batchsandbox-basic.yaml (non-pooled)
      ↓
  使用方式: kubectl 直接创建
      ↓
    流程: kubectl apply → kubectl delete

🔗 相关资源

  • 深度分析/data/home/cz/sandbox-test/pool-analysis/

    • Pool 使用指南
    • 架构流程图
    • 验证测试脚本
  • Helm 配置/data/home/cz/OpenSandbox/kubernetes/helm-chart/

    • values.yaml - 默认配置
    • values-e2e.yaml - E2E 测试配置
    • 生产/开发环境配置:使用 --set 或自定义 values 文件
  • 主文档/data/home/cz/OpenSandbox/kubernetes/README.md

    • Kubernetes 部署完整指南

💡 维护建议

添加新示例时

  1. 明确场景:每个示例应对应明确的使用场景
  2. 完整注释:包含配置说明、使用方式、注意事项
  3. 验证测试:确保示例可以正常运行
  4. 更新文档:同步更新 README.md 和本文档

修改现有示例时

  1. 保持兼容:避免破坏性变更
  2. 版本说明:在注释中说明版本要求
  3. 测试验证:修改后进行完整测试
  4. 文档同步:更新相关文档

删除示例时

  1. 评估影响:确认没有外部依赖
  2. 提供替代:在文档中说明替代方案
  3. 迁移指南:如果有用户使用,提供迁移步骤