适用场景

镜像仓库是 CI/CD 的"粮仓":它挂了所有人都无法发布。高可用 + 定期清理 + 多副本复制是必备三件事。

配置步骤(清理策略与配额)

# 1) 保留策略:保留最近 N 个标签 + 长期保留重要版本
# 2) 定时 GC:清理无引用 blob
# 3) 项目配额:限制容量与镜像数
# 4) 审计:谁推了巨量镜像

关键参数与建议

  • 架构:多实例 + 共享存储/对象存储 + 外部数据库 + 负载均衡
  • 复制:跨机房复制镜像,保证单机房故障仍可发布
  • 清理:按保留策略清旧标签,避免存储爆满
  • 配额:按项目限制容量,防止单项目占满
  • 扫描:开启镜像扫描并阻断高危镜像推送

容易踩的坑

  • 从不清理,存储半年写满导致无法推送
  • GC 与推送同时进行,可能误删(需停写窗口)
  • 无配额,单项目占满整个仓库

验证与巡检

curl -s -u admin:*** 'https://harbor/api/v2.0/projects?page_size=20' | head
  • 巡检:存储水位 <80%、GC 日志、配额执行

小结

镜像仓库的验收:任一台实例故障仍能推拉镜像;存储水位健康;清理与复制任务按计划执行。

> 说明:文中命令为通用写法,不同型号/版本可能略有差异,落地前请对照设备实际版本的官方文档;带外管理与安全设备变更建议先在测试设备验证。