Harbor 2.1安装配置,以支持helm charts管理及clair安全扫描

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Harbor 2.1安装配置,以支持helm charts管理及clair安全扫描相关的知识,希望对你有一定的参考价值。

参考技术A 这篇算是前两篇的升级版。支持更多功能
https://www.jianshu.com/p/9d249e0df269
https://www.jianshu.com/p/4605307d04a0

harbor-offline-installer-v2.1.0.tgz

tar -zxvf harbor-offline-installer-v2.1.0.tgz
之后操作,进入解压的harbor目录,以管理员root帐号运行(因为涉及权限)

cp harbor.yml.tmpl harbor.yml
然后,根据实际域名和端口进行修改。

./prepare

./install.sh --with-clair --with-chartmuseum
(需要提前安装好docker-compose,我使用的是1.26.2版)

http://harbor.demo.com.cn:8086

harbor实践之初识harbor

1 什么是Harbor

  harbor是VMware公司开源的企业级Registry项目,其的目标是帮助用户迅速搭建一个企业级的Docker registry 服务。

2 什么是Registry

  Registry是一个无状态的,高可扩展的服务器端应用程序,用于存储和分发Docker Image。

3 第一次使用Harbor

  3.1登录

  默认用户名密码:admin/Harbor12345

  

  3.2创建项目

  填写项目名称,设置访问级别;如果设置为公共仓库,则所有人对此项目下的镜像拥有读权限,命令行中不需要执行"docker login"即可下载镜像。

   

4为项目添加镜像

  4.1登录本地私有registry

docker login 192.168.88.128

  

  登录过程中组件的交互:

  

(a) 首先,这个请求会由监听80端口的proxy容器接收到。根据预先设置的匹配规则, 容器中的Nginx会将请求转发给后端的registry 容器;
(b) 在registry容器一方,由于配置了基于token的认证,registry会返回错误代码401,提示Docker客户端访问token服务绑定的URL。在Harbor中,这个URL指向Core Services;
(c) Docker 客户端在接到这个错误代码后,会向token服务的URL发出请求,并根据HTTP协议的Basic Authentication规范,将用户名密码组合并编码,放在请求头部(header);
(d)类似地,这个请求通过80端口发到proxy容器后,Nginx会根据规则把请求转发给ui容器,ui容器监听token服务网址的处理程序接收到请求后,会将请求头解码,得到用户名、密码;
(e) 在得到用户名、密码后,ui容器中的代码会查询数据库,将用户名、密码与mysql容器中的数据进行比对(注:ui 容器还支持LDAP的认证方式,在那种情况下ui会试图和外部LDAP服务进行通信并校验用户名/密码)。比对成功,ui容器会返回表示成功的状态码, 并用密钥生成token,放在响应体中返回给Docker 客户端。

  4.2为镜像打tag

#tag格式为:domain(ip)/project/image:version
docker tag vmware/photon:1.0 192.168.88.128/hb/vmware/photon:1.0

  

  4.3push镜像到私有registry

docker push 192.168.88.128/hb/vmware/photon:1.0

  

  4.4 删除、下载镜像

docker rmi
docker pull

以上是关于Harbor 2.1安装配置,以支持helm charts管理及clair安全扫描的主要内容,如果未能解决你的问题,请参考以下文章

harbor配置helm chart仓库

Harbor 使用 Helm 一键安装

Helm安装Harbor

使用Helm部署Harbor

Mac 环境安装 k8s, helm, harbor

Helm部署Harbor,实现高可用的镜像仓库(超详细分享)~后附踩坑记录