一、Harbor简介
Harbor是一个用于存储和分发Docker镜像的企业级Registry的服务器镜像仓库,通过添加一些企业必需的功能特性,例如安全、标识和管理等,扩展了开源Docker Distribution。作为一个企业级私有Registry服务器,Harbor提供了更好的性能和安全。提升用户使用Registry构建和运行环境传输镜像的效率。Harbor支持安装在多个Registry节点的镜像资源复制,镜像全部保存在私有的Registry中,确保数据和知识产权在公司内部网络中管控。另外,Harbor也提供了高级的安全特性,诸如用户管理,访问控制和活动审计等。
二、Harbor的特性:
基于角色的访问控制:用户与Docker镜像仓库通过"项目"进行组织和管理,一个用户可以对多
个镜像仓库在同一个命名空间(project)里有不同的权限。
镜像复制:镜像可以在多个Registry实例中复制(同步)。尤其适合于负载均衡,高可用,混合云
和多云场景。
图形化用户场景:用户可以通过浏览器来浏览,检索当前Docker镜像仓库,管理项目和命名空间。
AD/LDAP支持:Harbor可以集成企业内部已有的AD/LDAP,用于鉴权认证管理。
审计管理:所有针对镜像仓库的操作都可以被记录追溯,用于审计管理。
国际化:已拥有英文、中文、德文、日文好俄文的本地化版本。更多的语言将被添加进来。
RESTful API:RESTful API提供给管理员对于Harbor更多的操控,使得与其它管理软件集成变得
更容易。
部署简单:提供在线和离线两种工具,也可以安装到vSphere平台(OVA方式)虚拟设备。
三、Harbor的组件
Harbor在架构上主要由6个组件构成:
Proxy:Harbor的代理程序,Harbor的registry、UI、token等服务,通过一个前置的反向代理统一
接收浏览器、Docker客户端的请求,并将请求转发给后端不同的服务处理。
Registry:负责存储Docker的镜像,并处理docker的pull/push命令。由于我们要对用户进行访问
控制,即不同用户对Docker image有不同的读写权限,Registry会指向一个token服务器
,强制用户的每次docker pull/push请求都要携带一个合法的token,Registry会通过公钥
对token进行解密验证。
Core services:这是Harbor的核心功能,主要提供以下服务:
UI:提供图形化界面,帮助用户管理registry上的镜像(image),并对用户进行授权。
webhook:为了及时获取registry上的image状态变化的情况,在Registry上配置webhook,把状态变
化传递给UI模块。
token服务:负责根据用户权限给每个docker push/pull命令签发token,Docker客户端向Registry服
务发起的请求,如果不包含token,会被重定向到这里,获得token后再重新向Registry进<