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

196 lines
6.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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` | 无 execdSDK 无法使用,误导性 |
| `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. **迁移指南**:如果有用户使用,提供迁移步骤