BASELINE — Harbor 部署工程(稳定层)¶
稳定层:环境事实 / 机制性陷阱 / 命令速查 / 文档地图。不随轮次变化,不注入、不随 HANDOFF 重写。 现状与待办见 HANDOFF.md;历次过程见各主题
SOP.md。
1. 环境事实¶
- Harbor v2.15.2,部署于
192.168.31.31;接入 4 台 k8s 节点。 - 上游出网走默认路由(旁路由 Clash):
harbor.upstream_proxy.enabled: false;原香港跳板 SOCKS5 隧道已下线(systemd 单元删除、1080/tcp 放行撤销;工程在禁用时自动清理,幂等)。 - 凭据:Harbor admin 口令与 DB 口令在
192.168.31.31:/root/.secrets/(目录 700 / 文件 600);API 凭据走harbor.netrc。 - 缓存水位:存量镜像 58 条、入库 57 条(唯一缺口见 HANDOFF §3)。
2. 机制性陷阱¶
hosts.toml的override_path在 containerd 2.x 是bool(不是字符串):写成字符串会让整份文件解析失败并被 containerd 静默忽略 → 节点悄悄回退直连(表象是「文件在、containerd active、校验全过」)。前缀/v2/<registry>须写进 host 的 URL。- 判定接入是否生效的唯一证据是 Harbor 入口日志(
docker logs nginx)出现来自节点的/v2/<registry>/...请求;节点侧「文件在 + containerd active」不算数。 - 经
build_probe_shell批量的探测命令必须以换行结尾,否则@@rc_标记会粘进取值(2026-10-08 实测踩到)。 - 重跑
deploy-harbor会重建 Harbor 容器(install.sh行为):服务短暂中断约 1~2 分钟,节点侧失败一次后自动重试。 - 预热前先确认远端 registry 状态为 healthy:容器重建后 Harbor 会短暂把 5 个 registry 标记
unhealthy,此时 proxy cache 直接 404,warmup会连报失败触发阈值停止;健康检查每 5 分钟一轮自动恢复。 - 改远端文件不要手工编辑——幂等判定会覆盖回去;改
config/或utils/templates/后重跑。 - 改
upstream_proxy相关模板后必须同步probe.sh:_step_states依据探测结果判 pending/done,探测项缺失会被判 unknown 而中止。 - 离线包来源锁定无开关:sha256 不符即中止;
gh-proxy.com只是传输通道。
3. 命令速查¶
| 动作 | 入口(工程根下) |
|---|---|
| 部署 / 重建 Harbor | deploy-harbor(会重建容器,中断 1~2 min) |
| 节点侧接入 | deploy-nodes |
| 镜像预热 | warmup |
| 只读预检查 | precheck.run_all(2026-10-08 起每台一条 shell) |
| 查看 Harbor 入口日志 | docker logs nginx(判接入生效的唯一证据) |
4. 文档地图¶
| 文档 | 管什么 |
|---|---|
../../k8s_ins/ghcr-slow-20261001/HARBOR-RESULT.md |
结果回填与遗留项(环境事实见其 §1) |
../../k8s_ins/ghcr-slow-20261001/RUNBOOK.md |
日常运行与排障 |
../../k8s_ins/ghcr-slow-20261001/SOP.md |
首轮变更实施 / 验证 / 回滚 / 全部踩坑 |
../../k8s_ins/ghcr-slow-20261001/HARBOR-HANDOFF.md |
原始需求规格书 |
upstream-direct-20261001/SOP.md |
「切回默认路由」变更档案 |
probe_batch_20261008/SOP.md |
「只读探测批量化」变更档案 |
../../k8s_ins/docs/HANDOFF.md |
项目级状态快照 |
来源:
/home/rain/Documents/services/harbor/docs/BASELINE.md| 最后更新:2026-10-08 13:28(由build/sync.py同步,请勿在站点侧修改)