文章目录
- 介绍
- Harbor的架构设计包括几个关键组件:
- 环境
- docker与docker-compose安装可参考
- 下载安装包
- 官网
- 其他版本
- 百度网盘
- 解压
- 安装harbor
- 修改harbor配置文件
- 执行配置脚本
- 开始安装
- 查看运行状态
- 默认账户
- 登录
介绍
Harbor是一个开源的企业级私有Docker镜像仓库,它为用户提供了存储、分发和管理工作负载所需容器镜像的企业级解决方案。Harbor是在Docker Distribution的基础上构建的,增加了一些关键的企业级特性,如用户权限控制、镜像签名、安全漏洞扫描以及远程复制功能。
Harbor的主要特点包括:
- 用户权限和项目管理:Harbor支持多项目,每个项目都可以设置不同的用户权限,这使得团队可以在一个统一的平台中协同工作,同时保证敏感项目的安全性。
- 镜像签名与验证:Harbor允许对镜像进行签名,确保镜像在传输过程中的完整性和来源的可信度。这有助于企业实施严格的供应链安全策略。
- 安全漏洞扫描:Harbor内置了安全漏洞扫描功能,可以自动检查存储的镜像中可能存在的安全问题,并建议修复措施。
- 远程复制:Harbor可以配置镜像的远程复制,实现多数据中心的高可用性和灾难恢复。
- Web界面管理:提供图形用户界面,使得用户可以更直观地管理仓库中的镜像,包括上传、下载、复制以及设置权限等。
- 中文支持:Harbor考虑到国内用户的需求,提供了中文界面和支持,使得中文用户能够更便捷地使用。
- 可扩展性和性能:Harbor设计灵活,支持水平扩展,能够应对大规模的镜像存储和分发需求,同时作为一个企业级解决方案,它也提供了较好的性能表现。
Harbor的架构设计包括几个关键组件:
- Proxy:用于处理对外的镜像拉取和推送到Harbor仓库的请求。
- Registry:存储Docker镜像的地方,支持企业级特性如镜像签名和权限控制。
- Admission Controller:负责实施进入Registry的策略,比如镜像签名验证等。
- UI:图形用户界面,供管理员进行日常操作和管理配置。
- Logging:日志服务,用于记录Harbor的操作日志,便于审计和监控。
环境
系统环境:CentOS Linux release 7.9.2009 (Core)
CPU/内存: 8核、32G ##最小记得是2核4G就可以安装
docker:19.03.8
docker-compose:1.18.0
docker与docker-compose安装可参考
下载安装包
官网
wget https://github.com/goharbor/harbor/releases/download/v2.1.1/harbor-offline-installer-v2.1.1.tgz
其他版本
https://github.com/goharbor/harbor/releases
百度网盘
暂未提供
解压
[root@controller data]# tar xf harbor-offline-installer-v2.1.1.tgz -C /data/
[root@controller data]# ls /data/harbor/
common.sh harbor.v2.1.1.tar.gz harbor.yml.tmpl install.sh LICENSE prepare
[root@controller data]# mkdir -p /var/log/harbor/
安装harbor
修改harbor配置文件
cat <<EOF>> /data/harbor/harbor.yml
hostname: test.xxx.com # 设置访问地址,可以设置成IP,但是127或者localhost代表本机不可以,域名的话进行dns解析或者写hosts才可访问
http: # 启用http
port: 80 # http端口
#https: # 关闭https协议,如果启用把注释取消,然后申请证书,并指定证书目录即可
# port: 443
# certificate: /data/app/harbor/ssl/harbor-ioscar.cbf.com.pem
# private_key: /data/app/harbor/ssl/harbor-ioscar.cbf.com.key
harbor_admin_password: Harbor12345 # harbor登录密码
database:
password: root123
max_idle_conns: 50
max_open_conns: 1000
# harbor仓库数据目录(根据实际情况修改)
data_volume: /data/app/harbor/data
clair:
updaters_interval: 12
trivy:
ignore_unfixed: false
skip_update: false
insecure: false
jobservice:
max_job_workers: 10
notification:
webhook_job_max_retry: 10
chart:
absolute_url: disabled
log:
level: info
local:
rotate_count: 50
rotate_size: 200M
location: /var/log/harbor # harbor日志存放路径
_version: 2.0.0
proxy:
http_proxy:
https_proxy:
no_proxy:
components:
- core
- jobservice
- clair
- trivy
EOF
执行配置脚本
执行完会生成docker-compose.yml等文件还有目录
[root@controller harbor]# chmod +x prepare
[root@controller harbor]# ./prepare
开始安装
[root@controller harbor]# chmod +x install.sh
[root@controller harbor]# ./install.sh
查看运行状态
[root@controller harbor]# docker-compose ps
Name Command State Ports
--------------------------------------------------------------------------------------
harbor-core /harbor/entrypoint.sh Up
harbor-db /docker-entrypoint.sh Up
harbor-jobservice /harbor/entrypoint.sh Up
harbor-log /bin/sh -c /usr/local/bin/ ... Up 127.0.0.1:1514->10514/tcp
harbor-portal nginx -g daemon off; Up
nginx nginx -g daemon off; Up 0.0.0.0:80->8080/tcp
redis redis-server /etc/redis.conf Up
registry /home/harbor/entrypoint.sh Up
registryctl /home/harbor/start.sh Up
[root@controller harbor]#
默认账户
输入用户名:admin,默认密码:Harbor12345 登录Harbor
登录
http://test.xxx.com/ # harbor.yml的hostname进行定义