CentOS系统下Harbor镜像仓库部署全攻略

CentOS部署Harbor镜像仓库全流程指南

一、环境准备与前置条件

在CentOS系统上部署Harbor镜像仓库前,需完成以下基础环境配置:

  1. 系统版本要求:推荐使用CentOS 7/8版本,需确保系统为最小化安装且内核版本≥3.10。可通过uname -r命令验证内核版本。
  2. 网络配置检查:确保服务器可访问互联网,配置静态IP地址。使用ip addr命令检查网络接口状态,通过ping 8.8.8.8测试网络连通性。
  3. 防火墙配置:开放80(HTTP)、443(HTTPS)、22(SSH)端口。使用firewall-cmd --list-ports查看当前开放端口,通过firewall-cmd --add-port=80/tcp --permanent等命令添加所需端口。
  4. 依赖包安装:执行yum install -y wget curl vim net-tools docker-ce安装基础工具及Docker引擎。使用docker --version验证安装结果。

二、Docker环境深度配置

Harbor依赖Docker运行,需进行以下优化配置:

  1. Docker服务管理

    • 启动服务:systemctl enable --now docker
    • 配置镜像加速:编辑/etc/docker/daemon.json文件,添加:
      1. {
      2. "registry-mirrors": ["https://registry.docker-cn.com"]
      3. }
    • 重启服务:systemctl restart docker
  2. 存储驱动配置

    • 推荐使用overlay2存储驱动,验证当前驱动:docker info | grep "Storage Driver"
    • 如需修改,编辑/etc/docker/daemon.json添加:
      1. {
      2. "storage-driver": "overlay2"
      3. }
  3. 资源限制配置

    • 创建/etc/systemd/system/docker.service.d/docker.conf文件,添加:
      1. [Service]
      2. ExecStart=
      3. ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock --exec-opt native.cgroupdriver=systemd
    • 重新加载配置:systemctl daemon-reload && systemctl restart docker

三、Harbor安装包获取与验证

  1. 版本选择策略

    • 访问Harbor官方GitHub选择稳定版本(推荐v2.x系列)
    • 下载离线安装包:wget https://github.com/goharbor/harbor/releases/download/v2.9.0/harbor-offline-installer-v2.9.0.tgz
  2. 完整性验证

    • 使用sha256sum验证下载文件完整性
    • 解压安装包:tar -xzf harbor-offline-installer-v2.9.0.tgz
    • 检查解压目录结构:应包含harbor.ymlinstall.sh等核心文件

四、Harbor核心配置详解

  1. 配置文件修改要点

    • 编辑harbor.yml文件,关键参数配置:
      1. hostname: registry.example.com # 修改为实际域名或IP
      2. http:
      3. port: 80
      4. https:
      5. certificate: /data/cert/server.crt # 配置SSL证书路径
      6. private_key: /data/cert/server.key
      7. harbor_admin_password: Harbor12345 # 设置管理员密码
      8. database:
      9. password: root123 # 数据库密码
  2. 存储配置优化

    • 配置持久化存储路径:
      1. storage_driver:
      2. name: filesystem
      3. options:
      4. rootdirectory: /data/registry
    • 确保存储目录权限正确:chown -R 10000:10000 /data/registry
  3. 日志配置建议

    • 配置日志轮转:
      1. log:
      2. level: info
      3. local:
      4. rotate_count: 50
      5. rotate_size: 200M
      6. location: /var/log/harbor

五、Harbor安装与启动流程

  1. 依赖组件安装

    • 执行安装脚本前确保已安装docker-compose
    • 安装命令:./install.sh --with-clair(如需漏洞扫描功能)
  2. 服务启动验证

    • 检查容器状态:docker-compose ps
    • 验证服务日志:docker-compose logs -f
    • 访问Web界面:https://registry.example.com(应显示登录页面)
  3. 初始配置步骤

    • 使用默认账号admin和配置的密码登录
    • 创建项目:library(系统项目)和自定义项目
    • 配置系统参数:邮件通知、LDAP集成等

六、常见问题解决方案

  1. 端口冲突处理

    • 使用netstat -tulnp | grep 80检查端口占用
    • 修改Harbor配置或终止冲突进程
  2. 证书配置错误

    • 生成自签名证书命令:
      1. openssl req -x509 -nodes -days 365 -newkey rsa:2048 \
      2. -keyout /data/cert/server.key -out /data/cert/server.crt
    • 确保证书文件权限为600
  3. 数据库连接失败

    • 检查harbor.yml中数据库配置
    • 验证数据库服务状态:docker-compose ps postgresql
    • 查看数据库日志:docker-compose logs postgresql
  4. 存储空间不足

    • 使用df -h检查磁盘空间
    • 配置存储配额:在项目设置中限制存储大小
    • 定期清理未使用的镜像:docker system prune -a

七、生产环境优化建议

  1. 高可用配置

    • 部署多节点Harbor集群
    • 配置共享存储(如NFS、Ceph)
    • 使用负载均衡器分发流量
  2. 安全加固措施

    • 启用双因素认证
    • 配置网络策略限制访问
    • 定期更新Harbor版本
  3. 监控告警体系

    • 集成Prometheus监控
    • 配置Grafana看板
    • 设置存储空间阈值告警

八、升级与维护指南

  1. 版本升级流程

    • 备份当前配置和数据
    • 下载新版本安装包
    • 执行升级脚本:./prepare --with-clair
    • 重启服务:docker-compose down && docker-compose up -d
  2. 日常维护任务

    • 每周清理日志文件
    • 每月检查存储空间
    • 每季度进行安全审计
  3. 故障恢复流程

    • 准备完整的备份
    • 记录故障时间点和现象
    • 按优先级恢复服务(数据库→核心服务→Web界面)

通过以上详细部署流程和优化建议,可在CentOS系统上构建稳定高效的Harbor镜像仓库,满足企业级容器镜像管理需求。实际部署时建议先在测试环境验证,再推广到生产环境。