Harbor
介绍
Harbor是由VMware开发的开源镜像仓库管理系统,具有以下一些主要特点和功能:
1.镜像管理
Harbor可以存储、管理镜像,支持访问控制、镜像复制、镜像删除等功能。
2.角色访问控制
可以创建用户和设置角色控制镜像的访问权限,例如只读或读写权限。
3.镜像复制
支持在多个Harbor实例之间复制镜像,保证分布式部署可以访问相同镜像。
4.镜像安全扫描
可以配置镜像安全扫描,检测镜像中的漏洞或风险。
5.镜像签名与信任
支持内容信任机制,确保镜像来源可信的同时保护镜像内容不被篡改。
6.策略管理
可以对用户访问、镜像复制和其他操作设置灵活的策略。
7.LDAP/AD集成
支持LDAP和AD对用户进行统一认证管理,方便与企业目录服务集成。
8.审计日志
详细记录用户和系统的操作日志,用于审计跟踪。
9.RESTful API
提供开放API接口服务,便于与其他系统集成。
10.高可用性
支持多节点负载均衡部署,保证服务的高可用性。
综上,Harbor提供全面的镜像管理功能,有助于构建私有Docker镜像仓库服务。
组件
Harbor是开源的企业级镜像仓库管理平台,主要由以下几个组件组成:
- Proxy (Nginx):接收Docker客户端请求,转发给后端组件处理
- Registry:镜像存储和分发服务,默认是Docker Registry开源项目
- Core:管理后台服务,处理镜像管理、访问控制、策略等功能
- Jobservice:运行后台定时任务,比如镜像复制、GC等
- Database:后端数据库,保存镜像及相关元数据
- UI:基于AngularJS的Web界面
- Log: 日志服务,收集其他组件日志
工作原理
- Docker客户端将镜像推送和拉取请求发送到Harbor Proxy
- Proxy将请求转发到Harbor Registry处理
- Registry会调用Core服务进行安全认证、策略检查等
- Core服务从数据库加载元数据,并与Jobservice协调执行后台任务
- Registry访问存储后端保存镜像或返回镜像内容
- Proxy将Registry返回的结果响应给Docker客户端
- 用户还可以通过Web UI管理镜像、用户、项目等信息
通过核心服务统一管理认证、授权、策略等功能,使Harbor成为易于使用的安全镜像管理平台。
- harbor是基于compose部署的,所有需要有docker和compose环境
安装部署
安装环境
IP | docker version | docker-compose version | 内核 | centos |
---|---|---|---|---|
192.168.9.100 | 24.0.5 | v2.20.3 | 6.4.12-1.el7.elrepo.x86_64 | 7.9 |
环境准备
#关闭swap
`临时`
swapoff -a
`永久`
`vim进入fstab把这行加井号注释掉`
vim /etc/fstab
#/dev/mapper/centos-swap swap swap defaults 0 0
# 设置主机名
hostnamectl set-hostname harbor
bash
# 关闭防火墙 Selinux
systemctl stop firewalld
systemctl disable firewalld
setenforce 0
sed -i '/SELINUX/s/enforcing/disabled/' /etc/selinux/config
#CentOS/RHEL系统上配置NTP时间同步服务的:
yum -y install ntp
#安装ntp软件包。
systemctl enable ntpd
#设置ntp服务开机自启。
systemctl start ntpd
#启动ntp服务。
ntpdate -u cn.pool.ntp.org
#从公共ntp服务器同步一次时间。
hwclock --systohc
#将系统时间同步到硬件时钟。
timedatectl set-timezone Asia/Shanghai
#设置系统时区为上海。
#这样就完成了NTP服务的安装和配置,系统时间将通过ntpd守护进程定期从ntp服务器同步,并保证系统时间的准确性。
#hwclock将最后同步的时间写入到CMOS,重启后BIOS能从硬件时钟获取正确时间。
#设置好的时区也将被保存。
#通过这组命令可以轻松配置好Linux服务器的系统时间和NTP服务。
#内核升级