Harbor
Harbor是什么?
Harbor是VMware公司开源的企业级DockerRegistry项目,其目标是帮助用户迅速搭建一个企业级的Dockerregistry服务。
它以Docker公司开源的registry为基础,提供了管理UI,基于角色的访问控制(Role Based Access Control),AD/LDAP集成、以及审计日志(Auditlogging) 等企业用户需求的功能,同时还原生支持中文。
简单说来,Harbor封装了Docker的registry v2,帮用户提供了许多便捷管理的特性,方便用户操作。
一、harbor的架构
harbor的整体架构还是很清晰的,下面简单介绍一下,下图展示barbor主要的功能逐渐和信息流向。
这里写图片描述主要组件包括proxy,他是一个nginx前端代理,主要是分发前端页面ui访问和镜像上传和下载流量,上图通过深蓝色线标志;ui提供了一个web管理页面,当然还包括了一个前端页面和后端API,底层使用mysql数据库;registry是镜像仓库,负责存储镜像文件,当镜像上传完毕后通过hook通知ui创建repositry,上图通过红色线标志,当然registry的token认证也是通过ui组件完成;adminserver是系统的配置管理中心附带检查存储用量,ui个jobservice启动时候需要加载adminserver的配置,通过灰色线标志;jobservice是负责镜像复制工作的,他和registry通信,从一个registry pull镜像然后push到另一个registry,并记录job_log,上图通过紫色线标志;log是日志汇总组件,通过docker的log-dirver把日志汇总到一起,通过蓝色线条标志。
二、Harbor的安装与配置
详细见Harbor的github主页。
安装Harbor有两种方式
- 在线安装
- 离线安装
1)安装部署前置条件:
Harbor被部署为多个Docker容器,因此可以部署在任何支持Docker的Linux服务器上,且需要Docker和Docker Compose才能安装。
硬件
下表列出了用于部署Harbor的最低和建议的硬件配置。
资源资源 | 最低要求 | 推荐的 |
---|---|---|
中央处理器 | 2个CPU | 4个CPU |
m | 4GB | 8 GB |
磁碟 | 40 GB | 160 GB |
软件
下表列出了必须在目标主机上安装的软件版本。
软件 | 版 | 描述 |
---|---|---|
Docker引擎 | 17.06.0-ce +或更高版本 | 有关安装说明,请参阅docker engine doc |
Docker撰写 | 版本1.18.0或更高 | 有关安装说明,请参阅docker compose doc |
Openssl | 最好是最新的 | 用于生成Harbor的证书和密钥 |
网络端口
Harbor要求在目标主机上打开以下端口。
港口 | 协议 | 描述 |
---|---|---|
443 | HTTPS | Harbor门户和核心API在此端口上接受HTTPS请求。您可以在配置文件中更改此端口。 |
4443 | HTTPS | 与Harbor的Docker内容信任服务的连接。仅在启用公证人的情况下才需要。您可以在配置文件中更改此端口。 |
80 | HTTP | Harbor门户和核心API在此端口上接受HTTP请求。您可以在配置文件中更改此端口。 |
2)安装步骤
安装过程包括以下步骤:
- 下载安装程序。
- 配置Harbor.yml文件。
- 使用适当的选项运行install.sh脚本以安装和启动Harbor。
3)下载安装程序
-
到下载页面 Harbor releases page下载应用程序.
-
选择下载的版本(在线或离线版本)
-
使用
tar
提取安装程序包-
在线安装程序:
bash $ tar xvf harbor-online-installer-version.tgz
-
离线安装程序:
bash $ tar xvf harbor-offline-installer-version.tgz
-
- 配置Harbor
您harbor.yml
可以在安装程序包中包含的文件中为Harbor设置系统级别参数。这些参数在运行install.sh
脚本以安装或重新配置Harbor 时生效。
在初始部署之后和启动Harbor之后,您可以在Harbor Web Portal中执行其他配置。
网友评论