Harbor
Harbor主要功能
(1)基于角色访问的控制(RBAC)
在企业中,通常有不同的开发团队负责不同的额项目,镜像像代码一样,每个人角色不同需求也不同,因此就需要访问权限控制,根据角色分配相应的权限。
例如,开发人员需要对项目构建就用到读写权限(push/pull)测试人员只需要读权限(pull)
,运维人员需要管理镜像仓库,具备分配能力,项目经理具有所有权限
(2)镜像复制
可以将仓库中的景象同步到远程的Harbor,类似Mysql主从同步功能。
(3)LDAP
Harbor支持LDAP认证,可以很轻松接入已有的LDAP
(4)镜像删除和空间回收
Harbor支持在web删除镜像,回收无用的镜像,释放磁盘空间
(5)图形页面管理
用户很多的方面搜索镜像及项目管理
(6)审计
对仓库的所有操作都有记录
(7)REST API
完整的API 方便与外部集成
Harbor组件
组件 功能
Harbor-adminserver 配置管理中心
Harbor-db Mysql数据库
Harbor-jobservice 负责镜像复制
Harbor-log 记录操作日志
Harbor-ui Web管理页面和api
Nginx 前端代理
Redis 会话
Registry 镜像存储
Harbor部署
Harbor的安装方式有3种
在线安装 :从Docker hub下载相关镜像,因此软件包非常小
离线安装:安装包包含部署的相关的镜像,因此安装包比较大
OVA安装程序 :当用户具有vCenter环境时,使用此程序,在部署OVA后启动Habor
这里我们猜用的是离线安装,首先下载离线安装包
wget -c https://storage.googleapis.com/harbor-releases/release-1.7.0/harbor-offline-installer-v1.7.0.tgz
在此之前安装一些依赖
yum install epel-release -y
yum install python-pip -y
pip install --upgrade pip -i http://pypi.douban.com/simple --trusted-host pypi.douban.com -i http://pypi.douban.com/simple --trusted-host pypi.douban.com
pip install docker-compose
基本配置:
tar xf harbor-offline-installer-v1.7.0.tgz
cd harbor
sed -i 's/hostname=*/hostname=192.168.188.129/g' $(find / name harbor.cfg)
sed -i 's/harbor_admin_password*/harbor_admin_password=Habor12345' $(find / -name harbor.cfg)
安装并启动
./install/sh
查看运行状态
docker-compose ps
登录web页面
浏览器输入: http://192.168.188.129
账号 admin
密码Harbor12345
Lirary项目赋予新用户push权限
先创建一个用户:
进入library项目,将用户加入这个成员:
这样jackios用户就具备了对这个library项目push权限
上传镜像
接下里将刚才构建的镜像推送到Harbor仓库,先看看要推送的镜像
在推送之前 ,需要注意一个问题,这个完整是:
若果是只放在本地存储REPOSITORY写什么都可以,但是推送到镜像仓库就必须指定仓库中心地址,所以,先打重命名RESPOSTORY,其实就是引用镜像标记了一个目标镜像:
这里登录下 账号是jackios(在harbor创建的)
若是遇到问题在/docker/daemon.json添加如下参数
重启docker以及docker-compose
在web页面上观察下,从以下观察我们有一部是多余一层目录 lilbrary会自动添加
下拉镜像和push差不多 ,就不多演示了