目录
在生产一线,往往需要把镜像发布到几十台、上百台节点,这时单台 Docker 主机上的镜像已无法满足,项目越来越多,都放到一台 Docker 主机上是不行的,我们需要一个像 Git 仓库一样的系统来管理镜像。我们这里部署的就是 Harbor 作为 registry。
Harbor是由 VMWare 公司开源的容器镜像仓库,事实上,Harbor 是在 Docker Registry 上进行了相应的企业级扩展,从而获得了更加广泛的应用,这些新的企业级特性包括:管理用户界面,基于角色的访问控制,AD/LDAP集成以及审计日志等,足以满足基本需求。
一、Harbor特性介绍
1. 基于角色访问控制
每个人角色不同,需求也不同,因此就需要访问权限控制,根据角色分配相应的权限。例如,开发人员需要对项目构建这就需要用到读写权限(push/pull),测试人员只需要读权限(pull),运维一般管理镜像仓库,具备权限分配能力,项目经历具有所有权限。
在 Harbor 中,有三种角色:
(1)Guest:对指定项目有只读权限。
(2)Developer:开发,读写项目的权限。
(3)Admin:管理者,所有权限。
Anonymous:当用户未登录时,该用户被设为匿名用户。匿名用户不能访问私有项目,只能访问公开项目。
2. 镜像复制
可以将仓库中的镜像同步到远程的 Harbor。
3. LDAP
Harbor 支持 LDAP 认证,可以很轻易接入已有的 LDAP。
4. 镜像删除和空间回收
Harbor 支持在 Web 删除镜像,回收无用的镜像,释放磁盘空间。
5. 图形页面管理
用户很方面搜索镜像及项目管理
6. 审计
对仓库的所有操作都有记录
7. RESET API
完整的API,方便与外部集成。
二、Harbor高可用方案介绍
1. 共享存储
多个实例共享数据,共享一个存储。任何一个实例持久化存储的镜像,其它实例都可以读取到,通过前置负载均衡分发请求。
2. 复制同步
利用其镜像复制功能,实现双向复制保持数据一致,通过前置负载均衡分发请求。