什么是Habor?

什么是Habor

     Harbor是 VMware公司开源的企业级Docker Registry 项目,其目标是帮助用户迅速搭建一个企业级的Docker Registry仓库服务。它以Docker公司开源的Registry为基础,提供了管理u。基于角色的访问控制(Role Based AccessControl)、AD/LDAP集成、以及审计日志(Auditlogging)等企业用户需求的功能。通过添加一些企业必需的功能特性,例如安全、标识和管理等,扩展了开源Docker Distribution。作为一个企业级私有Registry服务器, Harbor提供了更好的性能和安全,以提升用户使用 Registry构建和运行环境传输镜像的效率。

Harbor 的优势

  • 基于角色控制:用户和仓库都是基于项目进行组织的,而用户基于项目可以拥有不同的权限。
  • 基于镜像的复制策略:镜像可以在多个Harbor实例之间进行复制(同步)。适用于负

载平衡、高可用性、多数据中心、混合和多云场景。

  • 支持LDAP / AD: Harbor与现有的企业 LDAP /ADA集成,用于用户认证和管理。
  • 图像删除和垃圾收集:镜像可以被删除,也可以回收镜像占用的空间。
  • 图形uI:用户可以轻松浏览、搜索镜像仓库以及对项目进行管理。
  • 审计:对存储库的所有操作都进行记录。
  • RESTful API:用于大多数管理操作的RESTfulAPl,易于与外部系统集成。

harbor架构构成

(1):Proxy: Harbor的 Registry、Ul、token等服务。通过一个前置的反向代理统一接收浏览器Docker客户端的请求,并将请求转发给后端不同的服务

(2):Registry:负责储存Docker镜像,并处理 Docker push/pull命令。由于要对用户进行访问控制,即不同用户对Docker image有不同的读写权限,Registry会指向一个token 服务,强制用户的每次Docker pull/push请求都要携带一个合法token,Registry,会通过公钥对token进行解密验证。

(3):Core services这是 Harbor的核心功能,主要提供以下服务:

  • Ul (Harbor-ui):提供图形化界面,帮助用户管理Registry 上的镜像(image),并对用户进行授权。
  • Webhook:为了及时获取registry 上 image状态变化的情况,在Registry上配置webhook,把状态变化传递给uU模块。
  • Token服务:负责根据用户权限给每个Docker push/pull命令签发token.Docker客户端向Regigstry.服务发起的请求,如果不包含token,会被重定向到这里,获得 token后再重新向 Registry进行请求。

(4):Database (Harbor-db):为 core services提供数据库服务,负责储存用户权限、审计日志、Docker image分组信息等数据。

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

什么是Habor?_第1张图片

    Harbor的每个组件都是以Docker容器的形式构建的,因此,使用Docker Compose来对它进行部署。在源代码中(https://github.com/vmware/Harbor)用于部署 Harbor 的 DockerCompose模板位于 Harbor/make/docker-compose.tpl。

你可能感兴趣的:(容器,docker,容器,运维)