Harbor 简介

官方网站:https://goharbor.io/
GitHub :https://github.com/goharbor/harbor

1、什么是 Harbor ?

Harbor (https://goharbor.io/)是一个开源的企业级 Docker 镜像仓库方案,用于存储和分发Docker Image镜像,并提供基于角色的权限控制、仓库间 Image 异步复制、LDAP/AD 支持、图形界面等功能。

  • 在线安装: 安装程序从Docker镜像仓库下载Harbour相关镜像。因此,安装程序的尺寸非常小。

  • 离线安装: 主机没有Internet连接时使用此安装程序镜像安装。安装程序包含所有镜像,因此压缩包较大。

2、Harbor 特征

  • 云本机注册表:Harbour 支持容器映像和Helm图表,可作为容器运行时和业务流程平台等云本机环境的注册表。

  • 基于角色的访问控制:用户和存储库通过“项目”进行组织,用户可以对项目下的镜像或Helm图表拥有不同的权限。

  • 基于策略的复制:可以基于具有多个过滤器(存储库,标记和标签)的策略在多个注册表实例之间复制(同步)镜像和图表。如果遇到任何错误,Harbor会自动重试复制。非常适合负载平衡,高可用性,多数据中心,混合和多云场景。

  • 漏洞扫描:Harbor定期扫描镜像并警告用户漏洞。

  • LDAP/AD支持:Harbor与现有企业LDAP / AD集成以进行用户身份验证和管理,并支持将LDAP组导入Harbor并为其分配适当的项目角色。

  • OIDC支持:Harbour利用OpenID Connect(OIDC)来验证由外部授权服务器或身份提供商进行身份验证的用户的身份。可以启用单点登录以登录Harbor门户。

  • 镜像删除和垃圾收集:可以删除镜像,并可以回收它们的空间。

  • 公证人:可以确保镜像的真实性。

  • 图形化界面:用户可以轻松浏览,搜索存储库和管理项目。

  • 审计:跟踪存储库的所有操作。

  • RESTful API:适用于大多数管理操作的RESTful API,易于与外部系统集成。嵌入式Swagger UI可用于探索和测试API。

  • 轻松部署:提供在线和离线安装程序。此外,Helm Chart可用于在Kubernetes上部署Harbor。

2. Harbor核心组件解释

  • Proxy:他是一个nginx的前端代理,代理Harbor的registry,UI, token等服务。

  • db:负责储存用户权限、审计日志、Dockerimage分组信息等数据。

  • UI:提供图形化界面,帮助用户管理registry上的镜像, 并对用户进行授权。

  • jobsevice:jobsevice是负责镜像复制工作的,他和registry通信,从一个registry pull镜像然后push到另一个 registry,并记录job_log。

  • Adminserver:是系统的配置管理中心附带检查存储用量,ui和jobserver启动时候回需要加载adminserver的配置。

  • Registry:镜像仓库,负责存储镜像文件。

  • Log:为了帮助监控Harbor运行,负责收集其他组件的log,供日后进行分析。

3. Harbor 和 Registry 的比较

Harbor和Registry都是Docker的镜像仓库,但是Harbor作为更多企业的选择,是因为相比较于Regisrty来说,它具有很多的优势。

1.提供分层传输机制,优化网络传输
Docker镜像是是分层的,而如果每次传输都使用全量文件(所以用FTP的方式并不适合),显然不经济。必须提供识别分层传输的机制,以层的UUID为标识,确定传输的对象。

2.提供WEB界面,优化用户体验
只用镜像的名字来进行上传下载显然很不方便,需要有一个用户界面可以支持登陆、搜索功能,包括区分公有、私有镜像。

3.支持水平扩展集群
当有用户对镜像的上传下载操作集中在某服务器,需要对相应的访问压力作分解。

4.良好的安全机制
企业中的开发团队有很多不同的职位,对于不同的职位人员,分配不同的权限,具有更好的安全性。

5.Harbor提供了基于角色的访问控制机制,并通过项目来对镜像进行组织和访问权限的控制。kubernetes中通过namespace来对资源进行隔离,在企业级应用场景中,通过将两者进行结合可以有效将kubernetes使用的镜像资源进行管理和访问控制,增强镜像使用的安全性。尤其是在多租户场景下,可以通过租户、namespace和项目相结合的方式来实现对多租户镜像资源的管理和访问控制。

作者:Jeebiz  创建时间:2023-02-12 01:54
最后编辑:Jeebiz  更新时间:2024-08-02 14:21