跳转至

harbor v2.13.3-rc2

为什么要使用Harbor

想象一下,你是一位在数字海洋中航行的船长。你的货物——那些精心构建的容器镜像——是你业务的生命线。然而,公海(公共镜像仓库)充满未知:安全隐患如暗礁潜伏,传输速度受制于遥远的距离,复杂的团队协作像糟糕的天气一样难以预测。更致命的是,一旦唯一的中央仓库宕机,你的整个交付链条将瞬间断裂,业务搁浅。

这就是无数开发与运维团队每日面临的真实矛盾:在追求**敏捷、快速交付**的云原生时代,却不得不依赖**不可控、有风险、低效率**的外部镜像管理方式。我们渴望自主,却受制于人;我们强调安全,却把命脉暴露在外。

Harbor 正是这片混乱海域中的灯塔与避风港。它让你将镜像仓库的控制权牢牢握在自己手中,在防火墙后构建起一个私密、高速、安全的企业级港湾。使用 Harbor,意味着你将混乱变为秩序,将风险化为可控,将团队协作编织成一张高效的网。它不仅仅是一个工具,更是你掌控软件供应链、实现DevOps顺畅协作的战略基石。当别人还在风浪中挣扎时,你的航船已在自家港湾内平稳高效地运转。

Harbor是什么

Harbor 是一个开源的、企业级的容器镜像仓库管理项目。简单来说,它就像一个你自己搭建和管理的、功能更强的私有版 Docker Hub。除了安全地存储和分发 Docker 镜像,它还提供了权限控制、漏洞扫描、镜像复制、日志审计等关键的企业级功能,让你能完全掌控容器镜像的生命周期。

入门示例

设想一个真实的微服务开发场景:你所在的“星辰科技”团队正在开发一款名为“Nexus”的电商应用,包含用户服务、订单服务和商品服务。

1. 场景设定: 以前,你们的开发工程师小杨在本地构建了user-service:v1.2镜像后,需要口头告知运维工程师老李。老李再从开发机拷贝镜像,手动上传到测试服务器,过程繁琐且容易出错。不同环境(开发、测试、生产)的镜像版本经常混淆。

2. 引入Harbor后: 公司在内网部署了Harbor,地址为harbor.star-tech.cn,并为“Nexus项目”创建了独立的仓库。

3. 开发与交付流程: * 开发者小杨**完成代码后,在本地构建镜像并推送到Harbor。

docker build -t harbor.star-tech.cn/nexus/user-service:v1.2 .
docker login harbor.star-tech.cn
docker push harbor.star-tech.cn/nexus/user-service:v1.2
* 推送触发Harbor自动进行**漏洞扫描,发现该镜像依赖的一个基础库存在中危漏洞。小杨根据报告立即修复并重新推送了v1.3版本。 * 测试工程师小美**在Jenkins上点击构建任务,该任务会直接从Harbor的nexus项目中拉取通过扫描的user-service:v1.3镜像,部署到测试集群。整个过程无需人工干预镜像的拷贝和传输。 * **运维工程师老李**配置Harbor的**复制策略,将测试通过并标记为“生产就绪”的稳定镜像,自动同步到位于云服务器的另一个Harbor实例(生产仓库),实现生产环境的快速、一致部署。

通过这个示例,Harbor 将镜像变成了可追溯、可管控、安全合规的标准化“制品”,贯穿了从开发到生产的完整流水线。

Harbor v2.13.3-rc2版本更新了什么

此版本主要为即将到来的v2.13.3稳定版进行准备和修复,属于发布候选版本。核心更新包括:升级了Trivy漏洞扫描器及其适配器以增强安全检测能力;更新了Go语言版本和基础Photon系统镜像,以获取底层运行时的安全补片和优化。同时,移除了对GitLab容器注册表和Google容器注册表(GCR)的复制功能支持,并修复了构建脚本和安装程序相关的一些问题。

更新日志

有哪些变化

组件更新 ⬆️

  • 在 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 及其适配器版本。
  • 在 release-2.13.0 分支上更新 Go 模块依赖。
  • 为 v2.13.3 版本升级基础镜像和 Go 版本。
  • 为 v2.13.3 版本更新基础镜像版本。
  • 更新 Go 版本声明。
  • 为 v2.13.3 版本升级基础 Photon 系统镜像。

其他更改

  • (遴选)将日志文件上传至 GitHub,保留5天。
  • (遴选)从 Harbor 的 Webhook 事件检查中移除对 9443 端口的引用。
  • (遴选)移除 GitLab 容器注册表复制功能。
  • (遴选)移除 Google 容器注册表(GCR)复制功能,因为相关账户已被移除。

完整更新日志: v2.13.2...v2.13.3-rc2

总结

本次更新主要围绕底层基础升级(如Go版本、基础镜像、漏洞扫描器)以夯实安全与稳定性,同时移除了两项失效或不再维护的第三方仓库复制功能,并对构建和安装过程进行了多项细节优化。