一、habor简介
Harbor 是由 VMware 公司中国团队为企业用户设计的 Registry server 开源项目,包括了权限管理(RBAC)、LDAP、审计、管理界面、自我注册、HA 等企业必需的功能。
-
基于角色的访问控制 - 用户与 Docker 镜像仓库通过“项目”进行组织管理,一个用户可以对多个镜像仓库在同一命名空间(project)里有不同的权限。
-
镜像复制 - 镜像可以在多个 Registry 实例中复制(同步)。尤其适合于负载均衡,高可用,混合云和多云的场景。
-
图形化用户界面 - 用户可以通过浏览器来浏览,检索当前 Docker 镜像仓库,管理项目和命名空间。
-
AD/LDAP 支持 - Harbor 可以集成企业内部已有的 AD/LDAP,用于鉴权认证管理。
-
审计管理 - 所有针对镜像仓库的操作都可以被记录追溯,用于审计管理。
-
国际化 - 已拥有英文、中文、德文、日文和俄文的本地化版本。更多的语言将会添加进来。
-
RESTful API - RESTful API 提供给管理员对于 Harbor 更多的操控, 使得与其它管理软件集成变得更容易。
介绍转载于:https://www.oschina.net/p/harbor
二、
node2 | 172.25.7.2 | swarm 节点 |
---|---|---|
node3 | 172.25.7.3 | swarm 节点 |
node4 | 172.25.7.4 | swarm 节点 |
node5 | 172.25.7.5 | 装有harbor-offline-installer-v1.8.2.tgz |
node2有三个swarm节点:
node5装有docker-compose:
node5下载harbor-offline-installer-v1.8.2.tgz
生成证书:
[root@node5 docker]# openssl req -newkey rsa:4096 -nodes -sha256 -keyout reg.westos.org.key -x509 -days 365 -out reg.westos.org.crt
game2048给node5改主机名,编写解析
在解压的harbor目录里更改habor.yml文件
安装:
在真机中写入解析:
浏览器输入:reg.westos.org
登陆成功后页面中,什么镜像都没有,因为安装的时候走的时候是443,所以给私有仓库push镜像要有证书,和用户认证。否则会出现以下错误:
错误1:
解决:将上面生成的reg.westos.org.crt复制到/etc/docker/certs.d/reg.westos.org/,并改名ca.crt
[root@reg reg.westos.org]# cp /etc/docker/reg.westos.org.crt ca.crt
错误2:证书认证以后,再次push,错误提示没有经过登陆。权限被禁止。
解决:
docker login reg.westos.org #登陆,再次上传即可。
在浏览器中查看:
镜像的拉取:
将node5(reg.westos.org)的/etc/docker/certs.d/reg.westos.org.crt复制到三个节点上:
三个节点可以拉取镜像:
创建用户:
创建一个项目,将用户wetos以维护人员角色加进去
docker再往私有仓库里push镜像的时候,需要先进行用户登陆。
然后再上传:
[root@node2 reg.westos.org]# docker tag ubuntu:latest reg.westos.org/test/ubuntu
[root@node2 reg.westos.org]# docker push reg.westos.org/test/ubuntu
The push refers to repository [reg.westos.org/test/ubuntu]
5f70bf18a086: Pushed
11083b444c90: Pushed
9468150a390c: Pushed
56abdd66ba31: Pushed
latest: digest: sha256:4e709bde11754c2a27ed6e9b9ba55569647f83903f85cd8107e36162c5579984 size: 1151
匿名用户一般可以拉取,但是对于私有仓库,不能拉取。
在集群中部署一个服务,让各节点自动下载。
由上图值主节点node2已拉取成功,再来查看一下其他节点: