1.1 Harbor 概述:企业级镜像仓库的核心定位
Harbor 是由 VMware 开源、目前由 CNCF(云原生计算基金会)孵化的企业级容器镜像仓库项目。它解决了 Docker Registry 原生版本在权限管理、安全扫描、多租户隔离、异地复制等企业场景下的功能缺失,成为国内 DevOps 和云原生平台中最广泛使用的镜像仓库方案。
一句话定义:Harbor 是一个集认证、授权、安全扫描、复制与回收于一体的企业级 OCI(Open Container Initiative)镜像仓库,是 DevOps 流水线中制品管理的核心枢纽。
1.1.1 Harbor 核心功能矩阵
| 功能模块 | 能力描述 | 企业价值 |
|---|---|---|
| 多租户与 RBAC | 基于项目(Project)隔离,支持 LDAP/AD/OIDC 集成,细粒度角色权限 | 不同团队共用仓库,互不干扰,审计合规 |
| 镜像复制(Replication) | 跨 Harbor 实例或跨 Registry 的自动/手动同步,支持推拉模式 | 灾备、多数据中心分发、边缘节点同步 |
| 漏洞扫描(Scanner) | 集成 Trivy/Clair 等扫描器,自动检测镜像 CVE 漏洞 | 阻断高危漏洞镜像进入生产环境 |
| 镜像清理与回收 | 基于标签、时间、引用关系的自动清理策略 + GC 空间回收 | 控制存储成本,避免仓库膨胀 |
| 审计日志 | 记录所有用户操作、镜像推送/拉取/删除事件 | 满足 SOC2、PCI-DSS 等合规审计要求 |
| Webhook 与事件驱动 | 镜像推送/扫描完成/清理完成等事件触发外部回调 | 与 CI/CD 流水线、告警系统联动 |
| 垃圾回收(GC) | 清理未被任何标签引用的 Blob 层数据,释放磁盘空间 | 彻底回收存储,避免“只删标签不删数据” |
1.1.2 Harbor 在 DevOps 中的定位
在标准 DevOps 流水线中,Harbor 处于“构建-制品-部署”的中间枢纽位置。它不仅是镜像的存储中心,更是安全门禁、版本策略和分发调度的执行者。
课程聚焦:本工程案例将重点围绕图中“策略引擎”层展开——通过 Harbor 的标签保留策略、自动清理规则、Webhook 事件驱动和 GC 回收机制,构建一套可自动执行的镜像归档与清理方案,解决企业仓库存储膨胀和版本泛滥的痛点。
1.1.3 为什么需要自动归档与清理?
随着 DevOps 流水线频繁迭代,镜像仓库会以每天数百甚至上千个版本的速度增长。如果不加干预,将引发以下问题:
- 存储成本失控:每个镜像包含多层 Blob 数据,保留所有历史版本会迅速耗尽磁盘或对象存储配额。
- 检索效率下降:仓库中充斥大量过时、废弃的镜像标签,开发人员难以找到有效版本。
- 安全风险累积:旧版本镜像可能包含未修复的 CVE 漏洞,持续存在于仓库中构成攻击面。
- 合规审计困难:缺乏自动化的生命周期管理,无法证明哪些镜像被保留、哪些被清理。
Harbor 内置的自动清理机制正是为解决这些问题而设计。本课程将基于标准模板,一步步构建从策略定义、规则编排到清理执行与监控的完整工程方案。
1.1.4 本章知识结构
| 小节 | 核心内容 | 学习目标 |
|---|---|---|
| 1.1 Harbor 概述 | Harbor 定义、核心功能、DevOps 定位 | 理解 Harbor 在企业级场景中的角色 |
| 1.2 自动归档与清理场景分析 | 典型痛点、清理策略分类、归档目标 | 明确本课程要解决的具体问题 |
| 1.3 标准模板驱动方案设计 | 模板化策略、规则引擎、执行流程 | 掌握方案的整体架构与设计思路 |
| 1.4 实验环境与前置准备 | Harbor 部署、存储配置、客户端工具 | 搭建可复现的实验环境 |