运维
部署
OpsKeeper 支持 standalone、高可用和 Kubernetes 部署。本页介绍典型拓扑;详细清单在仓库的 deploy/ 下。
Standalone
单主机安装,适合开发或小团队。一个二进制、一个 PostgreSQL、一个 Qdrant 实例。
standalone
# 1. 配置
cp .env.example .env
$EDITOR .env # 配置 POSTGRES_DSN、QDRANT_URL、OPSKEEPER_PLUGIN_HMAC
# 2. 启动
docker compose up -d
# 3. 校验
opskeeper health
opskeeper incident list --limit 5高可用
在 TCP 负载均衡器后面跑多个 OpsKeeper 控制平面实例。编排器通过 MySQL GET_LOCK 风格的咨询锁做 per-incident 串行化,因此 leader 是隐式的、不需要选举。
ha topology
┌──────────────┐
│ client / web │
└──────┬───────┘
▼
┌──────────────────┐
│ TCP 负载均衡器 │
└──────┬───────────┘
▼
┌───────────┬──┴──┬───────────┐
▼ ▼ ▼ ▼
opskeeper-1 opskeeper-2 opskeeper-3 opskeeper-N
└───────────┴──┬──┴───────────┘
▼
┌──────────────────────┐
│ PostgreSQL 主库 │
│ + 只读副本 │
└──────────────────────┘
▼
┌──────────────────────┐
│ Qdrant 集群 │
└──────────────────────┘标准的 Compose 和 Kubernetes 清单,以及备份/恢复 runbook,见 docs/deployment/ha.md。
Kubernetes
Kubernetes Operator 在 2027 Q1 路线图上。当前推荐方式是用 deploy/k8s/ 下的 Helm chart:
kubernetes
helm upgrade --install opskeeper deploy/k8s/charts/opskeeper \
--namespace opskeeper --create-namespace \
--set persistence.postgres.size=200Gi \
--set persistence.qdrant.size=100Gi边缘安装
opskeeper-edge 二进制在边缘侧(车间、零售 POS、区域 POP)跑 Worker,通过插件 stdio MCP 通道把证据转发到中心控制平面。
edge
# 配置一个新的边缘节点
opskeeper-edge provision \
--endpoint https://opskeeper.internal.example.com \
--name factory-floor-7
# 跑边缘守护进程
opskeeper-edge serve --config /etc/opskeeper/edge.yaml升级
按你的拓扑对应的升级 runbook 走。一般流程:
- 把活跃事件排到
verified或postmortem。 - 应用新镜像 / 新二进制。
- 逐个滚动升级控制平面实例。
- 重放最近的账本事件,确认没有事件丢失。
外部依赖
必需和可选服务的完整表格(含最低版本、不可用时的故障模式)见 docs/deployment/external-deps.md。