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