【免费下载链接】alumnium
End-to-End Testing with AI for Agents and Engineers
Alumnium 生产部署分三步完成:用 Docker 容器化运行 AI 测试服务端、用 Kubernetes Helm Chart 做集群化部署、再用 OpenTelemetry + Grafana LGTM 搭建Telemetry 可观测性监控栈。Alumnium 是一个 AI 原生的端到端(E2E)测试框架,其服务端负责调度 LLM 完成页面理解与操作决策,将服务自托管到生产环境,可以让团队内所有工程师和 AI Agent 共享同一套 AI 测试能力,同时用可观测性数据追踪每次 LLM 调用的性能与成本。
一、认识 Alumnium 服务端架构
Alumnium 采用"客户端 + 服务端"架构:
- 客户端(TypeScript / Python / Java 库或 MCP):与你的 Playwright、Selenium、Appium 等驱动交互,负责执行具体的页面操作。
- 服务端:一个独立进程,监听8013 端口,内部封装 LLM 调用(Anthropic、OpenAI、Ollama 等)、页面可访问性树处理与 AI Agent 逻辑。
生产部署的核心就是把这个服务端跑起来并对外提供服务。客户端只需设置一个环境变量指向它:
export ALUMNIUM_SERVER_URL=http://your-server:8013服务端的健康检查端点为/v1/health,所有部署方式的探活都围绕它展开。
二、Docker 镜像部署:最快上手方法
官方镜像基于debian:bookworm-slim,内置 tini 作为入口、以非 root 用户运行,并默认暴露 8013 端口。关键设计见 Dockerfile:
| 设计点 | 说明 |
|---|---|
| 多架构 | 构建参数TARGETARCH自动适配 amd64 / arm64 |
| 非 root 用户 | 以alumnium用户运行,降低容器逃逸风险 |
| 缓存卷 | VOLUME /app/.alumnium/cache持久化 LLM 响应缓存 |
| 默认命令 | alumnium server --host 0.0.0.0 |
一键启动步骤
# 1. 拉取官方镜像并启动,传入 LLM 提供商密钥 docker run -d --name alumnium-server \ -p 8013:8013 \ -e OPENAI_API_KEY=sk-... \ -e ALUMNIUM_MODEL=openai \ -v alumnium-cache:/app/.alumnium/cache \ alumnium/alumnium # 2. 验证健康检查 curl http://localhost:8013/v1/health返回成功即可用。如果想让 Alumnium 连接自托管的 Ollama,通过env追加参数即可,示例见 self-hosting 指南:
docker run -d -p 8013:8013 \ -e ALUMNIUM_MODEL=ollama \ -e ALUMNIUM_OLLAMA_URL=http://ollama-host:11434 \ alumnium/alumnium三、Kubernetes Helm Chart 部署:生产级配置
仓库内提供了官方 Helm Chart(charts/alumnium/),封装了完整的部署清单:Deployment、Service、Ingress、Secret、PVC 和健康探针。
3.1 安装命令与密钥管理
最简安装,模型与 API Key 直接写入 Chart 管理的 Secret:
helm install alumnium ./charts/alumnium \ --set config.model=anthropic \ --set secrets.ANTHROPIC_API_KEY=sk-ant-...推荐做法是把密钥放进集群已有的 Secret,再通过existingSecret挂载:
kubectl create secret generic alumnium-llm --from-literal=OPENAI_API_KEY=sk-... helm install alumnium ./charts/alumnium \ --set config.model=openai \ --set existingSecret=alumnium-llm3.2 关键配置项速查
核心配置都收敛在 values.yaml 中,生产环境最常调整的几项:
| 配置键 | 作用 | 建议值 |
|---|---|---|
config.model | LLM 提供商(如anthropic、openai/<model>、ollama) | 按团队选型 |
config.cache | 缓存策略,filesystem或关闭 | 默认filesystem |
persistence.enabled | 为缓存挂载 PVC,避免 Pod 重建后缓存丢失 | true+ 足够size |
ingress.enabled | 开启 Ingress 对外暴露 | 配合 TLS 证书 |
service.sessionAffinity | 多副本时按 ClientIP 粘滞 | 单副本无需设置 |
⚠️注意:服务端会话保存在内存中,多副本时必须设置
service.sessionAffinity=ClientIP并在 Ingress 层开启 sticky session,否则客户端会跨 Pod 丢会话。
3.3 内置安全与探针
Chart 默认启用了生产级安全加固:只读根文件系统、非 root(UID 999)、丢弃所有 capabilities、RuntimeDefaultseccomp 策略;同时配置了 startup / liveness / readiness 三类探针,全部指向/v1/health,Pod 停止时还保留 60 秒优雅退出窗口以等待进行中的 LLM 请求完成。
3.4 验证部署
# 运行 Chart 内置连通性测试(curl /v1/health) helm test alumnium # 本地转发端口并连接服务端 kubectl port-forward svc/alumnium 8013:8013 export ALUMNIUM_SERVER_URL=http://127.0.0.1:8013完整配置表、Ingress/TLS 示例与扩容说明见 Chart 文档。
四、Telemetry 可观测性搭建:Grafana LGTM 全流程
Alumnium 服务端内置了完整的可观测性插桩:日志基于 LogTape,Tracing 基于 OpenTelemetry,每个 HTTP 请求都会生成带requestId的 span,记录方法、状态码、耗时等指标(实现见 ServerTelemetry.ts 与 Tracer.ts)。
4.1 一键启动本地监控栈
仓库的 telemetry/docker-compose.yml 使用grafana/otel-lgtm镜像,一个容器内集成五大组件:
| 组件 | 职责 |
|---|---|
| OpenTelemetry Collector | 接收 OTLP 遥测数据 |
| Prometheus | 指标(Metrics)存储与查询 |
| Loki | 日志(Logs)聚合 |
| Tempo | 链路追踪(Traces) |
| Grafana | 统一可视化仪表盘 |
启动与常用操作(对应 telemetry/mise.toml 中的任务定义):
cd telemetry docker compose -f docker-compose.yml up -d # 启动 docker compose -f docker-compose.yml logs -f # 跟踪日志 docker compose -f docker-compose.yml down # 停止Compose 已预置好 Grafana 匿名 Admin 登录,并通过 provisioning 配置 自动注入 Alumnium 专属仪表盘 main.json,启动后访问:
- Grafana 仪表盘:
http://localhost:3000 - OTLP 接收端口:
4317(gRPC)/4318(HTTP)
4.2 让 Alumnium 把数据上报到监控栈
只需三步环境变量,服务端即开始上报 traces:
export ALUMNIUM_TRACE=true export OTEL_SERVICE_NAME=alumnium export OTEL_EXPORTER_OTLP_ENDPOINT=http://<collector-host>:4318 export OTEL_EXPORTER_OTLP_PROTOCOL=http/protobuf若使用 Kubernetes 部署,把这些变量加入 Chart 的env列表即可。更多插桩规范说明见 Telemetry 贡献文档。
4.3 生产环境看什么指标
在 Grafana 仪表盘中重点关注:
- 请求耗时分布:LLM 调用可能超过一分钟,P95 超过 Ingress 超时阈值要警惕 413 / 504 错误;
- LLM Token 用量与成本:span 属性中包含 token 计数,可用于成本核算;
- 请求失败率:
status: failure的 span 会附带错误信息,便于快速定位。
五、生产环境安全与最佳实践清单
- 网络隔离:服务端没有内置认证,任何能访问 Ingress 的人都可消耗你的 LLM 额度。对外暴露前务必在 Ingress 层加 IP 白名单、OAuth2 Proxy 或转发认证中间件;
- TLS 终止:证书在 Ingress 层终止,集群内部为明文 HTTP,属预期行为;
- 超时调优:LLM 请求体常超过 1 MB(携带完整可访问性树和截图),且响应时间可能超 60 秒,需相应调大 Ingress 的 body 限制与响应超时;
- 缓存持久化:生产环境务必开启
persistence.enabled=true,多副本场景还需ReadWriteMany存储; - 密钥轮换:Secret 变更时 Pod 会通过 checksum 注解自动滚动更新,无需手动重启。
六、相关文件索引
| 资源 | 路径 |
|---|---|
| Docker 构建文件 | Dockerfile |
| Helm Chart 完整文档 | charts/alumnium/README.md |
| Chart 默认配置 | charts/alumnium/values.yaml |
| LGTM 监控栈编排 | telemetry/docker-compose.yml |
| Grafana 仪表盘定义 | telemetry/provisioning/dashboards/main.json |
| 服务端 Telemetry 插桩 | packages/typescript/src/server/ServerTelemetry.ts |
| 自托管 LLM 配置 | websites/docs/src/content/docs/docs/guides/self-hosting.md |
按"容器化 → 集群化 → 可观测性"三步走,Alumnium 即可稳定运行在生产环境:Docker 解决快速验证,Helm Chart 解决弹性与高可用,Telemetry 则让你对每一次 AI 测试调用的性能、成本与错误一目了然。
【免费下载链接】alumnium
End-to-End Testing with AI for Agents and Engineers
相关推荐
Penpot 基于 Kubernetes 与 Helm Chart 的生产级部署指南
Penpot 基于 Kubernetes 与 Helm Chart 的生产级部署指南 导读 本文面向希望在自有 Kubernetes 集群中以生产级方式部署 P
前端后端图形学PgCat生产环境部署:Docker、Kubernetes和Helm Chart完整方案
PgCat生产环境部署:Docker、Kubernetes和Helm Chart完整方案 PgCat是一款功能强大的PostgreSQL连接池工具,支持分片、负
nao生产级部署详解:Docker Compose+PostgreSQL与Kubernetes Helm Chart双方案
nao生产级部署详解:Docker Compose+PostgreSQL与Kubernetes Helm Chart双方案 nao 是一个开源分析智能体(ana
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考