SuperAPI AI 工具集

start-temps-cluster

部署与运维

查看项目

更新于 10-15 21:54

技能介绍

用途:这是 tools/dev-cluster 的封装脚本,通过 docker-compose 在本地跑一个真实的 Temps 控制面加 3 个 worker 节点,每个 worker 为特权 DinD 容器,带真实覆盖网络(VXLAN、compute_cidr 分配、集群 DNS),用于验证需要多于一个节点的修复或功能。单节点 start-temps 无法测试跨节点调度、覆盖网络或集群 DNS。

拓扑与用法:底层网络 temps-underlay(10.42.0.0/24),含 postgres(TimescaleDB,10.42.0.5)、control-plane(10.42.0.10,映射 80/443)和 worker-1/2/3(10.42.0.21-23)。分配器从 172.20.0.0/16 为每个 worker 切一个 /24,按注册顺序分配,需用 status 确认。源码树以读写方式挂载到各容器 /workspace,在 Linux 内 cargo build --bin temps。

快速开始:cd <checkout>/tools/dev-cluster 后执行 ./dev-cluster up(首次约 5-10 分钟编译,之后 10-30 秒);另有 status、logs、shell、restart、down、reset 子命令。登录为 admin@local.dev,密码在 .state/admin.txt 第 2 行。

前提与限制:需 Docker 运行、约 3GB 空闲内存、约 5GB 空闲磁盘,以及仓库根目录下的 GeoLite2-City.mmdb,否则代理插件无法启动。全机器同时只能跑一个集群:容器名(temps-dev-*)与主机端口 80/443 固定,无按 checkout 隔离;执行前先用 docker ps -a --filter "name=temps-dev-" 检查。脚本提示 8080 端口是过时信息,实际服务在 80/443。另有 mTLS 加固变体(docker-compose.harden.yml、e2e-harden.sh、前缀 temps-harden-、2 个 worker)。资料还说明了覆盖网络实际名为 temps0(非 README 所写 temps-overlay)、集群 DNS 配置键为顶层 cluster_dns.enabled 且改动后需重启控制面与 worker、若干 API 部署与外部服务固定节点的示例、常见故障(containerd 停顿、容器名冲突、网络缺失等)及排障方法。