Harbor简史
Harbor是由VMware公司开源的容器镜像仓库, 事实上, Harbor是在Docker Registry上进行了相应的企业级拓展,
从而获得了更加广泛的应用, 这些企业级拓展包括: 管理用户界面、基于角色访问控制、AD/LDAP集成以及审计日志, 足以满足基本企业需求.
Harbor主要功能
- 基于角色访问控制
在企业中, 通常有不同的开发团队负责不同的项目, 镜像像代码一样, 每个人角色不同需求也不同, 因此就需要访问权限控制,
根据角色分配相应的权限.比如: 开发人员需要对项目构建这就用到读写权限(pull/push), 测试人员只需要读权限(pull), 运维一般管理镜像仓库,
具备权限分配能力, 项目经理具备所有权限
Guest: 对指定项目只读权限
Developer: 开发人员, 读写项目权限
Admin: 项目管理, 所有权限
Anonymous: 当用户未登陆时,该用户视为匿名, 不能访问私有项目, 只能访问公开项目
2.镜像复制
可以将仓库中的镜像同步到远程Harbor, 类似于MySQL的主从复制功能
3.镜像删除和空间回收
Harbor支持在web界面删除镜像, 回收无用的镜像, 释放磁盘空间
4.审计
对仓库的所有操作都有记录
1.REST API
2.具备完整的API, 方便与外部集成
Harbor高可用方案
方案一: 共享存储
多个实例共享数据共享一个存储, 任何一个实例持久化存储的镜像, 其他实例都可以读取到, 通过前置负载均衡分发请求
方案二: 复制同步
利用镜像复制功能, 实现双向复制保持数据一致, 通过前置负载均衡分发请求
Harbor组件
组件 功能
harbor-adminserver 配置管理中心
harbor-db MySQL数据库
harbor-jobservice 负责镜像复制
harbor-log 记录操作日志
harbor-UI Web管理页面和API
nginx 前端代理, 负责前端页面和镜像的上传/下载/转发
redis 会话
registry 镜像
Harbor部署
1、环境准备
192.168.1.175 harbor
192.168.1.205 master 只安装docker 仅供测试使用
2、Harbor部署:https方式
wget https://storage.googleapis.com/harbor-releases/ha