已关闭
[Enhancement] Docker 与 Kubernetes 部署模式现状评估与完善路线图 #57
changyucong创建于  6月16日关闭于  7月2日
changyucong
changyucong
6月16日 创建

背景

根据 README 和 Roadmap 的描述,agent-runtime 支持三种部署模式:subprocess(默认)、dockerk8s,其中 Docker 和 K8s 被标注为"持续完善"状态。代码仓库中已存在 management/deployments/docker/management/deployments/k8s/ 目录,包含 deployer、strategy、models 等基础实现。

当前存在的问题

Docker 部署模式

  1. 镜像构建流程不完善docker/Dockerfile.serverdocker/Dockerfile.lowercode 存在,但缺少完整的构建-推送-拉取工作流文档
  2. 端口映射与网络配置:容器化部署时端口冲突处理、容器间通信方案未在文档中说明
  3. 卷挂载与数据持久化:SQLite 数据库文件、日志文件在容器重启后的持久化方案未明确
  4. 资源限制:docker 部署缺少 CPU/内存限制的配置接口
  5. 缺少集成测试:doker deployer 缺少端到端容器启动、健康检查、销毁的测试用例

Kubernetes 部署模式

  1. K8s 部署器问题:Issue #49 已指出 kubectl apply -f - 未传入标准输入,表明 K8s 部署器还未完全可用
  2. 缺少 Helm Chart:无 Helm Chart 供用户一键部署到 K8s 集群
  3. Ingress/Service 配置:缺少对外暴露服务的 Ingress 配置模板
  4. ConfigMap/Secret 管理:Agent 配置如何通过 K8s ConfigMap 注入方案未定义
  5. HPA(水平自动扩缩):缺少基于 CPU/内存/请求数的自动扩缩配置指南
  6. PV/PVC 持久卷:Agent 状态持久化在 K8s 环境下的存储方案未定义

建议方案

短期(1-2 个里程碑)

  1. 完成 Docker 部署模式的文档编写,包括镜像构建、启动、数据持久化指南
  2. 修复 K8s deployer 已知问题(#49)
  3. 为两种部署模式补充单元测试和集成测试

中期(2-4 个里程碑)

  1. 提供 Helm Chart 包,支持一键部署到 K8s
  2. 实现 Docker/K8s 部署模式的资源限制配置
  3. 提供部署模式切换的详细对比表格和选型指南

长期(4+ 里程碑)

  1. 支持 K8s Operator 模式
  2. 实现基于 K8s Event 的自动故障恢复
  3. 支持 Service Mesh(Istio)集成

预期收益

  • 降低用户在生产环境使用 Docker/K8s 部署的门槛
  • 明确两种模式的成熟度和使用场景
  • 为社区贡献者提供清晰的参与方向
likedislike
openJiuwen-bot成员
6月16日 评论:

欢迎来到 openJiuwen 社区

Hey @cycong_1 , 感谢你对社区的贡献.

机器人使用手册

有关指令的使用,可以点击 此处 查看详情。开发人员可以在每个PR或Issue下方评论特定指令来触发机器人任务。

likedislike
changyucongchangyucong
7月2日 关闭了 issue
changyucongchangyucong
7月2日 issue状态由 TODO 改变为 CLOSED