暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Harbor使用指南

老柴杂货铺 2025-04-12
637

Harbor 是一款企业级云原生容器镜像仓库,由 VMware 开发并于 2018 年捐赠给 CNCF,2020 年成为 CNCF 毕业项目。它不仅是 Docker 镜像的存储中心,还提供安全扫描、权限管理、镜像复制等企业级功能,广泛应用于 Kubernetes 和 Docker 生态中。

一、Harbor 的核心特性

安全与合规性

漏洞扫描:集成 Clair 或 Trivy,自动检测镜像中的安全漏洞,并生成报告供合规审计参考。

镜像签名与验证:通过 Notary 组件实现镜像签名,确保镜像来源可信和完整性。

访问控制:支持基于角色的权限管理(RBAC),可细粒度控制用户对项目和镜像的操作权限。

企业级管理能力

多租户隔离:通过项目逻辑隔离资源,支持 LDAP/AD 集成,实现企业级用户体系管理。

镜像复制:跨 Harbor 实例或数据中心的镜像同步,支持混合云和多集群场景

存储优化:支持本地存储、对象存储(如 S3、Ceph)和垃圾回收机制,避免存储冗余。

云原生兼容性

符合 OCI 标准,支持 Docker、Helm Chart 和 OCI 格式的镜像。

提供 RESTful API 和 Webhook,便于与 CI/CD 工具(如 Jenkins、GitLab)集成。

二、Harbor 的架构与组件

Harbor 采用微服务架构,主要组件包括:

Core:核心服务,处理 API 请求和业务逻辑,如用户认证、项目管理

Registry:底层 Docker Registry,负责镜像的实际存储。

Database:使用 PostgreSQL 存储元数据(用户、权限、项目信息)。

Job Service:处理异步任务(如镜像复制、清理)。

Web UI:提供图形化管理界面,支持镜像上传、下载和策略配置。

Notary 和 Chartmuseum:分别负责镜像签名验证和 Helm Chart 存储。

三、部署与实践指南

1. 安装与配置

环境要求:

操作系统:Linux(Ubuntu/CentOS 等)

依赖:Docker、Docker Compose。

步骤:

下载离线包并解压:

    wget https://github.com/goharbor/harbor/releases/download/v2.9.5/harbor-offline-installer-v2.9.5.tgz
    tar -zxvf harbor-offline-installer-v2.9.5.tgz

    修改 harbor.yml 配置文件,设置 hostname(访问域名/IP)、http.port(HTTP 端口)、data_volume(存储路径)等。

    运行安装脚本:

      ./install.sh

      访问 http://<hostname>:80,使用默认账号 admin/Harbor12345 登录。

      2. HTTPS 配置(推荐)

      生成自签名证书或使用已有 CA 证书,配置 harbor.yml 中的 https.certificate 和 https.private_key 路径。

      更新 Docker 客户端配置,添加 insecure-registries 或信任 Harbor 的 CA。

      3. 镜像管理示例

      推送镜像:

        docker tag myimage:latest harbor.example.com/myproject/myimage:latest
        docker push harbor.example.com/myproject/myimage:latest
        拉取镜像:
          docker pull harbor.example.com/myproject/myimage:latest
          四、适用场景与配置建议
          场景推荐配置存储方案
          学习/测试环境
          1 核 CPU / 1 GB 内存,本地存储(基础型硬盘)
          本地存储(2000 GB 内)
          中小型生产环境
          2 核 CPU / 4 GB 内存,企业级 SSD 本地盘或对象存储(如 QingStor)
          对象存储(无限容量)
          大型生产环境
          多节点高可用(HA),8 核 CPU / 8 GB 内存,对象存储 + 负载均衡
          分布式对象存储(高并发优化)

          五、常见问题与优化

          镜像推送失败:检查证书配置和 Docker 客户端的 insecure-registries 设置。

          存储空间不足:启用垃圾回收策略或切换至对象存储。

          性能瓶颈:中大型环境建议分离数据库和 Redis 服务,避免单点故障。

          参考资料

          官方文档:Harbor 安装与配置:https://goharbor.io/docs/2.12.0/

          GitHub 仓库:goharbor/harbor

          社区支持:Harbor 中文论坛:https://ask.kubesphere.com.cn/forum/

          Harbor 通过其安全性和企业级特性,成为容器化应用管理的核心工具,适合从开发测试到大规模生产的全场景需求。

          文章转载自老柴杂货铺,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

          评论