一、环境准备与基础组件安装
在部署Harbor前需完成基础环境配置,这是保障后续服务稳定运行的前提条件。以下步骤以CentOS 7系统为例,其他Linux发行版需调整对应命令。
1.1 系统安全策略调整
为避免防火墙规则和SELinux策略干扰服务通信,需进行以下配置:
# 永久关闭防火墙服务systemctl stop firewalldsystemctl disable firewalld# 临时关闭SELinux(重启失效)setenforce 0# 永久生效需修改配置文件sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
建议通过getenforce命令验证SELinux状态,确保输出结果为Disabled。
1.2 主机名解析配置
编辑/etc/hosts文件建立域名映射,避免后续访问出现证书错误:
echo "192.168.79.10 my.harbor.com" >> /etc/hosts
可通过ping my.harbor.com测试解析是否生效,此配置在多节点部署时尤为重要。
1.3 Docker引擎安装
推荐使用官方仓库安装最新稳定版:
# 添加Docker官方仓库yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo# 安装指定版本(示例为19.03.15)yum install -y docker-ce-19.03.15 docker-ce-cli-19.03.15 containerd.io# 配置开机自启systemctl enable --now docker
安装完成后建议执行docker version验证服务状态,重点关注客户端/服务端版本是否匹配。
1.4 服务编排工具部署
Docker Compose作为容器编排核心工具,建议安装最新稳定版:
# 下载二进制文件(自动适配系统架构)COMPOSE_VERSION=$(curl -s https://api.github.com/repos/docker/compose/releases/latest | grep tag_name | cut -d'"' -f4)curl -L "https://github.com/docker/compose/releases/download/${COMPOSE_VERSION}/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose# 添加执行权限chmod +x /usr/local/bin/docker-compose
可通过docker-compose --version验证安装结果,典型输出应包含版本号和构建日期。
二、Harbor核心组件部署
完成基础环境准备后,进入私有仓库部署阶段。以下步骤包含离线安装包的获取与配置优化。
2.1 安装包获取与解压
从官方托管仓库获取离线安装包(以v2.5.3为例):
wget https://github.com/goharbor/harbor/releases/download/v2.5.3/harbor-offline-installer-v2.5.3.tgz# 创建工作目录并解压mkdir -p /opt/harbor && tar -zxvf harbor-offline-installer-v2.5.3.tgz -C /opt/harborcd /opt/harbor
建议将安装包存放在独立分区,避免后续升级时出现空间不足问题。
2.2 核心配置文件解析
harbor.yml是系统核心配置文件,需重点关注以下参数:
hostname: my.harbor.com # 必须与hosts文件配置一致http:port: 80 # HTTP访问端口https:port: 443 # HTTPS强制跳转端口certificate: /data/cert/server.crt # 证书路径private_key: /data/cert/server.keyharbor_admin_password: Harbor12345 # 初始管理员密码data_volume: /data/harbor # 数据持久化目录
安全建议:
- 生产环境必须启用HTTPS
- 密码复杂度需符合企业安全策略
- 数据目录建议使用独立磁盘挂载
2.3 安装脚本执行
执行自动化安装脚本前需确保:
- 已安装
docker-compose - 当前用户具有sudo权限
- 80/443端口未被占用
# 生成配置并启动服务./install.sh --with-trivy # --with-trivy启用镜像漏洞扫描
安装过程包含以下关键步骤:
- 生成Docker Compose配置文件
- 拉取依赖镜像(约1.2GB)
- 启动核心服务容器
- 初始化数据库
可通过docker-compose ps查看服务状态,所有容器应显示Up状态。
三、高级配置与运维实践
完成基础部署后,需进行以下优化以满足企业级需求。
3.1 存储后端配置
默认使用本地存储,生产环境建议配置对象存储:
# 在harbor.yml中添加存储配置storage_service:oss:accesskey: your-access-keysecretkey: your-secret-keyregion: your-regionbucket: harbor-images
配置后需重启服务使变更生效:
cd /opt/harbordocker-compose down && docker-compose up -d
3.2 访问控制策略
Harbor支持多种认证方式,典型配置包括:
- LDAP集成:对接企业AD系统
- OIDC认证:支持OAuth2.0协议
- 机器人账户:用于CI/CD流水线
创建机器人账户示例:
# 通过REST API创建(需先获取admin token)curl -X POST -H "Content-Type: application/json" \-d '{"name": "ci-robot", "level": "system", "access": [{"resource": "library", "action": "push"}]}' \"http://my.harbor.com/api/v2.0/robots" -u "admin:Harbor12345"
3.3 监控告警集成
建议集成主流监控系统实现可视化运维:
- Prometheus集成:暴露
/metrics端点 - 日志收集:配置Filebeat收集容器日志
- 告警规则:设置磁盘空间、响应时间等阈值
示例Prometheus配置片段:
scrape_configs:- job_name: 'harbor'static_configs:- targets: ['my.harbor.com:9090']
四、常见问题处理
4.1 证书配置错误
当出现x509: certificate signed by unknown authority错误时:
- 检查证书路径是否正确
- 确认证书包含SAN字段
- 在客户端配置信任链:
# 将CA证书添加到系统信任库cp ca.crt /etc/pki/ca-trust/source/anchors/update-ca-trust
4.2 存储空间不足
当出现no space left on device错误时:
- 清理无用镜像:
# 登录Harbor CLIdocker login my.harbor.com# 删除特定项目下的镜像curl -X DELETE "http://my.harbor.com/api/v2.0/projects/library/repositories/nginx" -u "admin:Harbor12345"
- 扩展存储容量或配置垃圾回收:
# 执行垃圾回收(需停止服务)cd /opt/harbordocker-compose down./prepare --with-trivydocker-compose up -d
4.3 性能优化建议
- 数据库调优:调整PostgreSQL的
shared_buffers参数 - 缓存配置:启用Redis作为会话缓存
- 网络优化:配置HTTP/2协议提升传输效率
五、升级与维护流程
建议每季度进行版本升级,典型流程如下:
- 备份数据目录和数据库
- 下载新版本安装包
- 更新配置文件(注意新增参数)
- 执行升级脚本:
cd /opt/harbor./upgrade.sh --with-trivy
- 验证服务状态和功能完整性
通过以上系统化的部署与运维实践,可构建满足企业级需求的容器镜像管理平台。实际部署时需根据具体业务场景调整配置参数,建议先在测试环境验证所有变更。