Harbor制品保留与垃圾回收自动化治理 - 第1节
1.1 Harbor 是什么
Harbor 是一个开源的云原生制品仓库,由 VMware 中国研发团队于 2016 年发起,后于 2018 年捐献给 CNCF(Cloud Native Computing Foundation)并晋升为毕业项目。它主要用于存储、分发和管理容器镜像及 Helm Chart 等云原生制品,是企业在私有化环境中构建安全、高效、可观测的制品管理平台的首选方案。
核心定位:Harbor 不仅是镜像仓库,更是企业级制品管理平台,覆盖制品存储、访问控制、漏洞扫描、复制同步、保留策略与清理等全生命周期能力。
1.2 Harbor 核心功能
Harbor 提供以下核心功能模块,覆盖制品从上传到清理的完整链路:
| 功能模块 | 说明 | 典型场景 |
|---|---|---|
| 多租户管理 | 基于项目(Project)隔离,支持角色(管理员、开发者、访客)权限控制 | 多团队共用仓库,资源隔离 |
| 制品存储与分发 | 支持 Docker 镜像、Helm Chart、OCI 制品、CNAB 等 | CI/CD 流水线推送与拉取 |
| 漏洞扫描 | 集成 Clair、Trivy 等扫描引擎,自动检测镜像安全漏洞 | 上线前安全合规检查 |
| 复制与同步 | 支持跨数据中心、跨云的制品复制(Pull/Push 模式) | 灾备、多地域分发 |
| 保留策略 | 基于标签、时间、数量等规则自动清理过期制品 | 节省存储空间,控制成本 |
| 清理窗口 | 设定清理操作的时间窗口,避免影响业务高峰期 | 生产环境定时清理 |
| 审计日志 | 记录所有操作行为,支持日志导出 | 安全审计、故障排查 |
课程聚焦:本课程将重点深入 保留策略 与 清理窗口 两个功能,其他功能仅做背景介绍。
1.3 Harbor 在云原生生态中的定位
在云原生技术栈中,Harbor 处于制品管理的关键位置,连接上游的 CI/CD 工具链与下游的容器运行时环境。以下 SVG 图展示了 Harbor 在典型云原生流水线中的核心角色:
从生态视角看,Harbor 承担以下关键职责:
- 制品统一入口:所有构建产物(镜像、Chart、OCI 制品)集中存储,避免碎片化。
- 安全合规网关:在制品进入生产环境前完成漏洞扫描、签名验证,阻断不安全镜像。
- 多集群分发中枢:通过复制策略将制品同步到多个 Kubernetes 集群或数据中心。
- 存储成本控制:通过保留策略与清理窗口,自动回收无用制品,降低存储开销。
注意:很多团队只把 Harbor 当作“镜像存储”,忽略了保留策略和清理窗口的配置,导致存储空间持续膨胀、清理操作在业务高峰期触发性能抖动。本课程将系统解决这两个痛点。
1.4 保留策略与清理窗口的关系
保留策略和清理窗口是 Harbor 制品生命周期管理的两个核心机制,二者协同工作:
| 维度 | 保留策略 | 清理窗口 |
|---|---|---|
| 职责 | 定义“哪些制品需要被清理”的规则 | 定义“何时执行清理操作”的时间约束 |
| 配置粒度 | 项目级别(Project) | 全局级别(System) |
| 触发方式 | 手动触发 / 定时任务 / Webhook | 定时窗口 + 保留策略联合触发 |
| 典型规则 | 保留最近 30 天内的镜像,或保留最近 10 个版本 | 每天凌晨 2:00-4:00 执行清理 |
| 常见问题 | 规则过于宽松导致存储膨胀 | 窗口设置不合理导致业务高峰期清理 |
以下 SVG 图展示保留策略与清理窗口的协同工作流程:
最佳实践:建议先配置保留策略,再设置清理窗口。保留策略决定“清理什么”,清理窗口决定“何时清理”。二者缺一不可,否则要么存储膨胀,要么清理操作影响业务。