- 一.系统环境
- 二.前言
- 三.Harbor
- 四.使用harbor搭建私有镜像仓库
- 4.1 环境介绍
- 4.2 k8smaster节点安装配置harbor
- 4.3 k8sworker1节点配置从harbor私有仓库上传和拉取镜像
一.系统环境
服务器版本 docker软件版本 CPU架构 CentOS Linux release 7.4.1708 (Core) Docker version 20.10.12 x86_64
二.前言
在使用Docker拉取镜像时,Docker首先默认从Docker Hub官方下载镜像,很多时候我们的镜像都是使用Dockerfile自定义私有镜像,不对外公开,而且为了安全起见,docker可能在内网环境下运行,所以我们有必要搭建一套docker本地私有镜像仓库,以供整个内网集群环境使用。
搭建镜像仓库主流的有两种方法,一种是使用docker官方提供的registry镜像搭建仓库,简单快捷,但是功能有限;另一种是使用harbor搭建本地镜像仓库,harbor功能更强,使用范围更广,这里介绍使用harbor搭建本地镜像仓库。
关于使用registry搭建本地镜像仓库请查看博客《搭建docker镜像仓库(一):使用registry搭建本地镜像仓库》https://www.cnblogs.com/renshengdezheli/p/16646969.html。
三.Harbor
Harbor是由VMware公司开源的企业级的Docker镜像仓库管理项目,它包括权限管理(RBAC)、LDAP、日志审核、管理界面、自我注册、镜像复制和中文支持等功能。Harbor官网地址:https://github.com/goharbor/harbor
Harbor在架构上主要由6个组件构成:
Proxy:Harbor的registry, UI, token等服务,通过一个前置的反向代理统一接收浏览器、Docker客户端的请求,并将请求转发给后端不同的服务。
Registry: 负责储存Docker镜像,并处理docker push/pull 命令。由于我们要对用户进行访问控制,即不同用户对Docker image有不同的读写权限,Registry会指向一个token服务,强制用户的每次docker pull/push请求都要携带一个合法的token, Registry会通过公钥对token 进行解密验证。
Core services: 这是Harbor的核心功能,主要提供以下服务:
- UI:提供图形化界面,帮助用户管理registry上的镜像(image), 并对用户进行授权。
- webhook:为了及时获取registry 上image状态变化的情况, 在Registry上配置webhook,把状态变化传递给UI模块。
- token 服务:负责根据用户权限给每个docker push/pull命令签发token. Docker 客户端向Regiøstry服务发起的请求,如果不包含token,会被重定向到这里,获得token后再重新向Registry进行请求。
Database:为core services提供数据库服务,负责储存用户权限、审计日志、Docker image分组信息等数据。
Job Services:提供镜像远程复制功能,可以把本地镜像同步到其他Harbor实例中。
Log collector:为了帮助监控Harbor运行,负责收集其他组件的log,供日后进行分析。
各个组件之间的关系如下图所示:
四.使用harbor搭建私有镜像仓库
4.1 环境介绍
架构:k8smaster作为harbor镜像仓库,k8sworker1作为客户端
服务器 操作系统版本 CPU架构 进程 功能描述 k8smaster/192.168.110.137 CentOS Linux release 7.4.1708 (Core) x86_64 harbor harbor镜像仓库 k8sworker1/192.168.110.138 CentOS Linux release 7.4.1708 (Core) x86_64 docker docker客户端
4.2 k8smaster节点安装配置harbor
4.2.1 安装harbor离线包
首先配置k8smaster节点,注释:harbor默认端口为80
由于harbor依赖于docker-compose,所以需要先安装docker-compose
`shell
[root@k8smaster ~]# yum -y install docker-compose
……
正在解决依赖关系
–> 正在检查事务
Original: https://www.cnblogs.com/renshengdezheli/p/16660989.html
Author: 人生的哲理
Title: 搭建docker镜像仓库(二):使用harbor搭建本地镜像仓库
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/803277/
转载文章受原作者版权保护。转载请注明原作者出处!