Harbor:云原生镜像仓库工具

Harbor 是 CNCF 托管的一款开源云原生镜像仓库工具,目前获得 28,817 个 Star。

正文顶部截图

它主要用于存储、签名和扫描容器镜像与 Helm Chart。Harbor 在开源 Docker Distribution 的基础上,增加了企业用户常用的安全、身份和管理功能。

README区域截图

Harbor 的核心定位是云原生注册表。它支持容器镜像和 Helm Chart,可作为容器运行时和编排平台的镜像中心。将仓库部署在靠近构建和运行环境的位置,可以提升镜像拉取和推送效率。

在权限管理方面,Harbor 采用基于角色的访问控制。用户通过项目访问不同的仓库,同一个用户在项目下可以对镜像或 Helm Chart 拥有不同权限。这种设计适合多团队协作场景。

复制功能是 Harbor 的另一个重点。管理员可以按策略在多个 Harbor 实例之间同步镜像和 Chart,支持按仓库、标签和标签过滤。遇到错误时,系统会自动重试复制任务。这一机制常用于负载均衡、高可用以及跨云多数据中心部署。

安全层面,Harbor 提供漏洞扫描能力。它可以定期扫描镜像中的漏洞,并根据策略阻止存在风险的镜像被部署。扫描结果会展示在管理界面中,用户可以看到漏洞等级和受影响组件。Harbor 支持使用 Notary 对容器镜像进行签名,确保镜像来源可信,还可以配置策略禁止未签名镜像部署。

在身份认证上,Harbor 支持 LDAP/AD 和 OIDC。企业可以将 Harbor 接入现有用户目录,或通过 OpenID Connect 实现单点登录。LDAP 组也可以导入 Harbor 并分配项目权限。

Harbor 还提供图形化管理界面,用户可以在浏览器中浏览、搜索仓库和管理项目。所有针对仓库的操作都会记录日志,便于审计。管理员可以通过 RESTful API 执行管理操作,接口文档内置 Swagger UI,方便集成和测试。

系统管理员可以运行垃圾回收任务,定期清理悬空清单和未引用的 blob,释放存储空间。该功能有助于控制仓库长期运行后的磁盘占用。

部署方式比较灵活。Harbor 可以通过 Docker Compose 部署,也提供 Helm Chart 用于 Kubernetes 环境。官方还推出了 Harbor Operator。Linux 主机需要 Docker 20.10.10 及以上版本,以及 docker compose 1.18.0 及以上版本。

从 v2.15.0 开始,Harbor 的发布产物使用 Cosign 进行签名。下载安装包后,可以用 cosign verify blob 命令验证签名,确保安装包未被篡改。

Harbor 还通过了 OCI Distribution 一致性测试,并维护兼容适配器列表,包括复制适配器、OIDC 适配器和扫描器适配器。用户可以参考官方文档了解安装和配置步骤。

作为一款由 CNCF 孵化的项目,Harbor 在容器生态中主要解决镜像存储、分发和安全治理问题。它适合需要私有化部署镜像仓库、对镜像安全有明确要求的企业环境。

它适合需要私有化部署镜像仓库、对镜像安全有明确要求的企业环境。

更多推荐