记录 OpenBao 人工解封、采集上线与快照修复验收
docs / check (push) Successful in 19s

This commit is contained in:
2026-09-25 20:42:33 +00:00
parent 84eff66b00
commit 263a87d931
3 changed files with 44 additions and 13 deletions
+3 -3
View File
@@ -19,9 +19,9 @@ last_reviewed: 2026-09-25
下面的规模、矩阵和盲点保留初轮盘点基线,不能再当作第一批实施后的现状。
第二批已补 [证书、ESO 与 Flux](monitoring-controllers.md) 的 15 条规则,
以及 [CNPG、NATS 与 SeaweedFS](monitoring-data-services.md) 的 14 条规则和 12 个新采集目标。
OpenBao telemetry 尚未实施:匿名 metrics 返回 403,现有配置未声明 Prometheus retention;
维护者已要求现在准备维护,YubiKey 解密后人工 unseal,
执行顺序见 [OpenBao 维护 runbook](openbao-monitoring-maintenance.md);尚未开始停机。备份独立验收、NATS consumer 维度、外部探测和集群外心跳仍待补齐。
OpenBao 已完成受鉴权 telemetry、ServiceMonitor 与采集不可用规则,维护者人工解封后验收通过;
并修复快照续期、生成维护前快照及 VM 外副本,详见 [维护 runbook](openbao-monitoring-maintenance.md)。
备份独立验收、NATS consumer 维度、外部探测和集群外心跳仍待补齐。
## 证据和范围
+29 -3
View File
@@ -6,13 +6,39 @@ last_reviewed: 2026-09-25
# OpenBao 监控接入维护 runbook
用于本次 OpenBao 自身指标接入中央监控。2026-09-25 维护者要求现在开始准备维护,
先完成顺序和 runbook;本文为待执行方案,不代表已经开启停机窗口或完成变更。
先完成顺序和 runbook;本文同时保留执行顺序与最终验收,实际完成范围见下方“本次执行状态”。
建议从明确宣布开始计时预留 30 分钟,实际起止记录 UTC,并注明维护者当地时区。
维护者确认使用人工解封:解封材料保存在 Bao VM,经 GPG 加密,解密私钥由 YubiKey 持有。
文件确切位置、封装格式以及是否另有残留明文未核实;agent 不搜索或读取这些材料。
解密、PIN/触摸确认和提交 unseal share 由维护者在自己的终端完成。
## 本次执行状态(2026-09-25)
维护者已确认 YubiKey 解密可用并明确同意进入重启/人工解封交接。
20:34:42 UTC 应用已校验 telemetry 配置并重启,随后维护者完成 unseal。
现场确认 initialized=true、sealed=false、health=200、受鉴权 Prometheus metrics=200,
cluster_id 与维护前一致,匿名 metrics 仍为 403。
停机前已更换失效的快照 token,修正每日续期命令为现场支持的 `bao token renew`(不带 -self)。
新快照 `openbao-20260925-203149.snap` 为 183334 bytes,VM 外副本保存在管理工作站
`/home/panxiao81/.local/state/openbao-maintenance/`,权限 0600,SHA-256 一致。
这是配置维护前的备份核验,不等于完成异机灾难恢复演练。
快照 service Result=success、timer active;文件只在写入成功后更名,失败不清理旧快照。
metrics policy/role 已按候选源配置应用:实际 vmagent-main SA 登录与 token 续期成功,
无权读取业务 Secret,测试 token 已撤销;Terraform import blocks 已备好,主 state 纳管尚未执行。
重启后 ClusterSecretStore 和 12 个 ExternalSecret Ready;monitoring/alertmanager-telegram
已定向刷新,refreshTime 更新为 20:39:33 UTC,状态 SecretSynced。
[PR #162](https://git.ddupan.top/panxiao81/homelab-infra/pulls/162) 已合并,Flux 应用
`834f65494195ba5e139e1fc6ee0221fd705b9656`,vmagent 新 Pod 3/3 Ready。
Bao Agent 日志确认自动登录成功、token 写入内存卷及首次自动续期成功;up{job="openbao"}=1,
已观察连续三次 up=1,当前指标可查询,单次抓取约 636 个样本,OpenBaoMetricsUnavailable 规则已加载,无评估错误。
本次未设置维护静默,无需清理 silence;没有撤销维护者自己的登录会话。
真实长周期重新登录、快照未来定时运行和独立灾难恢复演练不包含在本次验收内。
以下保留操作顺序和回滚方法;其中“待执行”描述须结合本节判断,不能重复重启。
## 目标、分工与影响
- 执行者:准备配置与采集声明、检查、备份核对、部署、观测和配置回滚。
@@ -95,11 +121,11 @@ HTTPS 使用正确域名/CA,不关闭校验;metrics path 为 `/v1/sys/metric
放 query params,不能把问号串在 path 里。sealed 期间 metrics 不可用,因此还需独立 health/目标缺失检测,
不能仅靠 Bao 内部指标证明 sealed 状态可被发现。
候选配置见 [WIP PR #162](https://git.ddupan.top/panxiao81/homelab-infra/pulls/162),尚未合并部署。
配置见 [PR #162](https://git.ddupan.top/panxiao81/homelab-infra/pulls/162),已合并部署,状态以本次执行记录为准。
使用绑定 monitoring/vmagent-main 的 Kubernetes auth metrics role,由 Bao Agent sidecar 自动登录/续期,
token 仅存 Pod 内存卷供 vmagent 只读消费。采集用 ServiceMonitor + 外部 Service/Endpoints;
现有 converter 的 Endpoints 发现保留,EndpointSlice 迁移另行处理。
真实 role 权限、认证/续期及受鉴权 metrics 仍待管理员会话完成验收,不能只凭静态检查重启。
role 权限、认证/首次续期与受鉴权 metrics 已验收;未来维护仍须重新核对现场,不只依靠历史记录。
使用现场版本支持的配置校验方式,先检查对应命令 help;禁止启动第二个 server 验证同一 Raft 数据目录。
现有 Ansible 写配置会通知 restart,不能把正式 apply 当作无停机预演。
+12 -7
View File
@@ -89,11 +89,16 @@ Dynamic Runner 提供执行环境和 workload 身份,具体向 OpenBao 请求
## 监控接入与维护窗口
2026-09-25 只读核对:匿名 `/v1/sys/metrics?format=prometheus` 返回 403,仓库服务模板未声明
Prometheus telemetry。中央监控尚未接入 OpenBao 自身指标;ESO store 状态只提供依赖侧间接检测。
维护者于 2026-09-25 要求现在准备维护,先完成 runbook。解封材料由 VM 上的 GPG 加密文件保存,
解密依赖维护者的 YubiKey,并由维护者人工 unseal;文件格式和位置未核实。
匿名 403 不足以判断 telemetry 是否启用,下一步先做受鉴权预检。
2026-09-25 已启用受鉴权 Prometheus telemetry,ServiceMonitor 通过现有 vmagent 采集,
job 为 `openbao`。同 Pod 的 Bao Agent 使用 Kubernetes SA 登录 metrics role,自动续期,
token 仅保存于内存卷;指标身份不能读取业务秘密,匿名 metrics 仍被拒绝。
已有目标 down/消失持续 3 分钟的 critical 告警,通知沿用 Telegram。
本次仅完成基础采集与可用性告警,不代表已覆盖全部 Raft、PKI 或备份新鲜度规则。
维护顺序、人工交接、验收和回滚以 [OpenBao 监控接入维护 runbook](../guides/openbao-monitoring-maintenance.md)
为准。当前为准备阶段,预检结果与 WIP 配置 PR 已记录在 runbook;尚未执行重启,也没有取得或读取解封材料。
维护中已修复快照 token 失效及脚本缺少续期的问题,生成新快照并核对 VM 外副本。
快照 timer 已启用,未来执行结果和恢复演练仍需独立监控/验收。
维护者用 working PC 的 YubiKey 解密 VM 上保存的加密 unseal share,重启后人工解封。
本次服务配置变更、采集上线与恢复验收已完成,详细操作与证据见
[OpenBao 监控接入维护 runbook](../guides/openbao-monitoring-maintenance.md)。
后续重启仍需同样的人在场解封流程;不能因本次恢复成功假定已经自动解封。