harbor v2.13.3¶
为什么要使用Harbor¶
想象一下,你是一位船长,正率领着一支由无数微服务组成的舰队驶向数字化未来。你的货物——成千上万个容器镜像,是这场旅程的核心。公海(公共镜像仓库)虽然广阔,却暗流涌动:不可靠的网络、未知的安全漏洞、混乱的版本管理,随时可能让你的舰队遭遇风暴。而更可怕的是,当你需要快速、一致地部署时,却发现自己受制于他人的港口开放时间与规则。
这就是现代云原生开发面临的真实矛盾:我们追求极致的敏捷与自动化,却常常在基础的镜像存储、分发和安全环节失控。自己搭建?维护成本令人望而却步。完全依赖公有云?在安全、合规和性能上又不得不做出妥协。
Harbor 的出现,正是为了平息这场风暴。它不是一个简单的工具,而是你在私有环境中的**专属深水港**。它为你提供企业级的秩序与安全,却丝毫不牺牲云原生的速度与灵活性。在这里,你可以完全掌控镜像的每一层内容,对每一次推送和拉取进行审计,用自动化的安全扫描将漏洞拒之门外,并通过精细的权限管理确保舰队井然有序。使用 Harbor,意味着你将部署的命脉牢牢握在自己手中,在充满变数的数字海洋中,拥有一块稳定、安全、高效的根据地。
Harbor是什么¶
Harbor 是一个开源的**云原生容器镜像仓库**。简单来说,它就像一个专为容器镜像(Docker镜像等)打造的私人图书馆或应用商店。与企业常用的 Nexus 管理 Jar 包类似,Harbor 专门用来存储、管理和分发您的容器镜像,并额外提供了强大的企业级功能,如身份认证、安全漏洞扫描、镜像签名、复制策略等,使得在私有环境中安全、高效地管理容器镜像成为可能。
入门示例¶
让我们跟随“极速咖啡”开发团队的 DevOps 工程师小李,看他如何用 Harbor 解决一个真实困境。
场景:“极速咖啡”App 的后端服务需要从单体架构拆分为微服务(用户服务、订单服务、支付服务)。每个服务都由不同的开发者负责,他们本地构建的镜像版本混乱,测试环境部署时经常拿错镜像,导致故障频发。安全团队也要求对所有上线镜像进行漏洞扫描。
行动:小李在公司的 Kubernetes 集群内部署了 Harbor。
- 搭建与配置:他通过 Helm chart 快速将 Harbor 部署到测试环境的 K8s 集群中,并配置了与公司 LDAP 集成的统一登录。
- 项目与权限:他在 Harbor 中创建了
coffee-app项目,并为“用户服务”、“订单服务”、“支付服务”三个开发小组分别分配了开发者权限,他们只能推送/拉取自己服务对应的镜像。 - 开发流程集成:
- 开发者小张完成了“用户服务”v1.2.0的开发。他在本地执行构建命令:
- 登录企业 Harbor 仓库并推送:
- 自动化安全门禁:Harbor 自动触发了预配置的漏洞扫描(集成 Trivy)。扫描发现镜像包含一个中危漏洞,策略拦截了推送,并在界面上清晰提示。小张根据报告修复了基础镜像,重新构建推送后顺利通过。
- 一键部署:所有通过扫描的镜像会获得“可部署”标签。小李的 CI/CD 流水线(如 Jenkins)只需在部署脚本中拉取来自
harbor.company.com的指定镜像,即可快速、安全地将服务部署到测试或生产环境。
从此,“极速咖啡”团队的镜像管理从混乱的桌面文件共享,变成了一个具有版本控制、安全审计和自动化流程的现代化工厂流水线。
Harbor v2.13.3版本更新了什么¶
Harbor v2.13.3 主要是一个维护和优化版本。它集中升级了多个核心组件的基础版本以提升稳定性和安全性,包括 Go 语言版本、基础操作系统镜像以及 Trivy 安全扫描引擎。同时,此版本移除了对 GitLab 容器仓库和 Google 容器仓库(GCR)的复制功能支持,并优化了构建流程与安装选项,使离线安装更为灵活。此外,还包含了一些问题修复,例如调整了 Webhook 事件的检查逻辑。
更新日志¶
发生了什么变化¶
组件更新 ⬆️¶
- 在 release-2.13.0 分支上更新了 pipenv 及其锁定文件。
- 在 release-2.13.0 分支上增加了 docker 网络参数。
- 在 release-2.13.0 分支上移除了多余的 build_base 检查逻辑。
- 在 release-2.13.0 分支上将离线安装程序改为可选。
- 修复了 release-2.13.0 分支中的其他构建缺口。
- 在 release-2.13.0 分支上更新了用于生成 swagger_client 的 pip 安装命令。
- 为 v2.13.3 版本升级了 trivy 和 trivy 适配器。
- 在 release-2.13.0 分支上更新了 Go 模块依赖。
- 为 v2.13.3 版本升级了基础镜像和 Go 版本。
- 为 v2.13.3 版本升级了基础镜像版本。
- 更新了 Go 版本声明。
- 为 v2.13.3 版本升级了基础 Photon 镜像。
其他变化¶
- (拣选)将日志文件上传至 GitHub,保留 5 天。
- (拣选)在 Webhook 事件检查中,从 Harbor IP 中移除了 9443 端口。
- (拣选)移除了 GitLab 仓库复制功能。
- (拣选)因 GCR 账户已被移除,移除了 GCR 仓库复制功能。
完整更新日志:v2.13.2...v2.13.3
总结¶
综上所述,Harbor v2.13.3 版本主要聚焦于底层组件的基础性升级与维护,包括编程语言环境、系统镜像和安全扫描引擎,旨在提升整体安全性与稳定性。同时,版本清理了部分已不再适用的仓库复制功能,并对构建和安装流程进行了细节优化。