harbor v2.14.1-rc2¶
为什么要使用Harbor¶
想象一下,你是一位技艺高超的造船师。你精心打造的每一艘船(容器镜像),都承载着让企业数字航船破浪前行的希望。然而,当船队日益庞大,你会发现:船该停在哪里才安全?谁可以登船,谁不能?如何确保每艘船都坚固可靠,没有一丝裂痕?在 Docker 带来的敏捷浪潮中,我们疯狂“造船”,却突然面临“港口”的缺失——镜像管理混乱、安全黑洞频现、协作效率如同陷入泥沼。
这就是现代开发的隐秘矛盾:我们拥有了瞬间部署容器的魔力,却失去了有序、安全、高效管理其生命之源(镜像)的能力。使用 Harbor,就是为你汹涌澎湃的容器化舰队,建造一座专属的、坚不可摧的智能母港。它不仅是仓库,更是你镜像资产的治理中心、安全卫士和协作枢纽,将混乱变为秩序,让风险回归可控。
Harbor是什么¶
Harbor 是一个开源的企业级容器镜像仓库服务。简单来说,它就像 Docker 镜像的“私有应用商店”与“安全管控中心”。它提供了镜像的存储、分发、扫描、签名等核心功能,并添加了企业必需的角色权限控制、安全漏洞扫描、镜像复制等高级特性,让你能完全自主、安全、高效地管理内部的容器镜像资产。
入门示例¶
让我们跟随“极速创新”公司的 DevOps 工程师小明的故事,看他如何用 Harbor 化解一场危机。
场景:公司的一款核心微服务需要紧急修复一个安全漏洞。更新镜像后,小明需快速、安全地将镜像分发给全球三个数据中心的 Kubernetes 集群。
过去(没有Harbor):手动通过 docker save/load 在服务器间传输压缩包,或用不安全的公共仓库。过程繁琐,版本易混淆,且无法验证镜像是否被篡改,安全性和效率俱低。
现在(使用Harbor):
-
构建与推送:修复代码后,小明在本地构建镜像
myapp:v1.2-security-fix,并直接推送到公司内部的 Harbor 仓库。 -
自动安全扫描:镜像推送后,Harbor 自动调用集成的漏洞扫描器(如 Trivy)对其进行检测。小明在 Harbor Web 界面上立刻看到了扫描报告,确认修复已覆盖漏洞且未引入新风险。
-
全球分发(复制):小明在 Harbor 中为该镜像仓库设置了一条“复制规则”。几分钟内,该镜像便从总部的主 Harbor 实例,自动、同步地复制到了亚洲、欧洲、美洲三个区域的 Harbor 从实例中。
-
安全部署:各区域的数据中心运维人员,其 Kubernetes 集群均已配置从本地 Harbor 拉取镜像。他们只需更新部署清单中的镜像标签,即可快速、安全地拉取经过验证的镜像并完成部署。 ```yaml containers:
- name: myapp image: harbor-asia.mycompany.com/library/myapp:v1.2-security-fix # 从本地就近Harbor拉取 ```
通过 Harbor,小明将一次复杂的全球协同发布,变成了一次安全、透明、自动化的流水线操作。
Harbor v2.14.1-rc2版本更新了什么¶
此版本主要是一个修复与优化版本。它新增了对代理缓存项目上游连接数的精细控制,并允许在初始化时禁用审计日志入库以提升灵活性。此外,版本升级了多项底层依赖,包括 Go 语言版本、基础镜像以及 Trivy 扫描器等组件,并修复了此前版本中机器人账户等相关的一些问题。
更新日志¶
发生了什么变化¶
激动人心的新功能 🎉¶
- 为每个代理缓存项目添加了
max_upstream_conn参数以限制上游连接数。 - 新增了用于限制上游注册表连接的用户界面。
组件更新 ⬆️¶
- 修复了机器人账户相关的问题。
- 允许在初始化时禁用审计日志写入数据库。
- 为
skip_audit_log_database配置项添加了数据库迁移脚本。 - 重构了初始化
skip_audit_log_database配置的逻辑。 - 为 v2.14.1 版本升级了 Trivy 及其适配器。
- 为 v2.14.1 版本升级了 Go 语言版本。
- 为 v2.14.1 版本更新了基础镜像。
- 升级了
github.com/golang-jwt/jwt/v5依赖包版本。 - 升级了
k8s.io/client-go依赖包版本。 - 将 Trivy 适配器回退至旧版本。
- 为 2.14.1 版本再次更新了基础镜像和 Go 版本。
- 为 v2.14.1 版本更新了基础镜像版本。
- 更新了 Go 版本的声明。
- 为 v2.14.1 版本更新了基础 Photon 镜像。
完整更新日志:v2.14.0...v2.14.1-rc2
总结¶
总的来说,Harbor v2.14.1-rc2 版本的更新主要集中在细节打磨和底层加固上。它引入了对代理缓存功能的连接数精细控制,增强了系统审计日志管理的灵活性,并系统性地升级了 Go 语言、基础镜像、安全扫描器等多个核心组件的版本,旨在提升系统的整体稳定性、安全性与可维护性。