Skip to content

Harbor是VMware公司开源的企业级DockerRegistry项目,其目标是帮助用户迅速搭建一个企业级的Dockerregistry服务。

它以Docker公司开源的registry为基础,提供了管理UI,基于角色的访问控制(Role Based Access Control),AD/LDAP集成、以及审计日志(Auditlogging) 等企业用户需求的功能,同时还原生支持中文。

简单说来,Harbor封装了Docker的registry v2,帮用户提供了许多便捷管理的特性,方便用户操作。

harbor的架构

harbor的整体架构还是很清晰的,下面简单介绍一下,下图展示barbor主要的功能逐渐和信息流向。

主要组件包括proxy,他是一个nginx前端代理,主要是分发前端页面ui访问和镜像上传和下载流量,上图通过深蓝色线标志;ui提供了一个web管理页面,当然还包括了一个前端页面和后端API,底层使用mysql数据库;registry是镜像仓库,负责存储镜像文件,当镜像上传完毕后通过hook通知ui创建registry,上图通过红色线标志,当然registry的token认证也是通过ui组件完成;adminserver是系统的配置管理中心附带检查存储用量,ui个jobservice启动时候需要加载adminserver的配置,通过灰色线标志;jobservice是负责镜像复制工作的,他和registry通信,从一个registry pull镜像然后push到另一个registry,并记录job_log,上图通过紫色线标志;log是日志汇总组件,通过docker的log-dirver把日志汇总到一起,通过蓝色线条标志。

Harbor的使用场景与特点

基于角色的访问控制:用户与Docker镜像仓库通过"项目"进行组织和管理,一个用户可以对多个镜像仓库在同一个命名空间(project)里有不同的权限。

镜像复制:镜像可以在多个Registry实例中复制(同步)。尤其适合于负载均衡,高可用,混合云和多云场景。

图形化用户场景:用户可以通过浏览器来浏览,检索当前Docker镜像仓库,管理项目和命名空间。

AD/LDAP支持:Harbor可以集成企业内部已有的AD/LDAP,用于鉴权认证管理。

审计管理:所有针对镜像仓库的操作都可以被记录追溯,用于审计管理。

国际化:已拥有英文、中文、德文、日文好俄文的本地化版本。更多的语言将被添加进来。

RESTful API:RESTful API提供给管理员对于Harbor更多的操控,使得与其它管理软件集成变得更容易。

部署简单:提供在线和离线两种工具,也可以安装到vSphere平台(OVA方式)虚拟设备。