简介
Harbor是由VMware公司中国团队为企业用户设计的Registry server开源项目,包括了权限管理(RBAC)、LDAP、审计、管理界面、自我注册、HA等企业必需的功能,同时针对中国用户的特点,设计镜像复制和中文支持等功能
功能特点
-
云原生仓库: 凭借对容器镜像和 Helmcharts 的支持,Harbor可以作为容器运行时和业务流程平台等云原生环境的仓库
- 基于角色的访问控制:用户和存储库通过“项目”进行组织,并且用户可以对项目下的镜像或Helm charts具有不同的权限。
- 基于策略的复制:可以基于具有多个过滤器(存储库,标签和标签)的策略在多个仓库实例之间复制(同步)镜像和Helm charts。如果遇到任何错误,Harbor会自动重试复制。非常适合负载平衡,高可用性,多数据中心,混合和多云场景。
- 漏洞扫描:Harbor会定期扫描镜像并警告用户存在漏洞。
- LDAP/AD域支持:Harbor与现有企业LDAP / AD集成以进行用户身份验证和管理,并支持将LDAP组导入Harbor并为其分配适当的项目角色。
- OIDC支持:Harbor利用OpenID Connect(OIDC)来验证由外部授权服务器或身份提供者认证的用户的身份。可以启用单点登录以登录Harbor门户。
- 镜像删除和垃圾收集:可以删除镜像并回收其空间。
- 公证:可以保证镜像的真实性。
- 图形化门户管理:用户可以轻松浏览,搜索存储库和管理项目。
- 审计:跟踪对存储库的所有操作。
- RESTful API:用于大多数管理操作的RESTful API,易于与外部系统集成。嵌入式Swagger UI可用于探索和测试API。
- 容易部署:提供在线和离线安装程序。另外,可以使用HelmChart在Kubernetes上部署Harbor。
安装部署
系统要求:在linux主机上,docker 17.06.0-ce+, docker-compose1.18.0+, 也可以在kubernetes 集群中使用HelmChart for Harbor部署。本文在linux主机中部署。
可以使用在线和离线两种方式安装,本文使用离线方式安装,获取harbor release.
解压包:
```
tar xvfharbor-offline-installer-v1.9.1.tgz
```
进入harbor目录并修改harbor.yml文件 hostname。然后执行install.sh进行安装
```
# cd harbor
# vimharbor.yml //修改hostname为当前主机ip地址
#./prepare
#./install.sh
```
显示安装成功,并可通过主机IP地址来访问,默认用户名密码为: admin/ Harbor12345, 可以在安装前修改harbor.yml中默认配置后安装并访问。
配置本地私服
```
vim/etc/docker/daemon.json
# 写入以下内容:
{
"insecure-registries": ["192.168.109.200"]
}
```
验证是否配置成功:
```
dockerinfo#查看InsecureRegistries:是否包含配置的私服地址
或dockerlogin 192.168.109.200 # 输入用户名和密码,显示 Login Succeeded 为成功
```
将本地镜像推送到Harbor
1. 将本地镜像打tag, 以hello-world项目为例, 将镜像推送到library项目下:
“`
dockertag hello-world:latest 192.168.109.200/library/hello:latest
“`
2. 推送镜像
“`
dockerpush 192.168.109.200/library/hello
“`
3. 登录harbor,查看镜像已经被推送到Harbor了