Harbor 基础讲解:从核心作用到 Web 界面基础解析

在云原生和容器化的浪潮中,Harbor 作为企业级的 Docker 镜像仓库,扮演着至关重要的角色。它不仅是镜像的 "存储柜",更是企业内部镜像分发、权限管控和安全合规的核心枢纽。本文将从核心作用、数据组成、优缺点,再到 Web 界面的各个模块,为你全面拆解 Harbor 的基础概念。


一、Harbor 是什么?核心作用有哪些?

Harbor 是由 VMware 开源的企业级容器镜像仓库,它在 Docker Registry 的基础上,增加了许多企业级必备的功能,让镜像的管理更加安全、高效和可控。

核心作用

  1. 镜像存储与分发:作为私有镜像仓库,存储和管理企业内部的 Docker/OCI 镜像,避免依赖公共 Hub,提升拉取速度和安全性。
  2. 权限与访问控制:细粒度的 RBAC 权限模型,支持用户、角色、项目级别的访问控制,确保只有授权人员才能操作镜像。
  3. 镜像复制与同步:支持跨仓库、跨地域的镜像复制(Push/Pull 模式),实现灾备、多活和就近访问。
  4. 安全与合规:内置漏洞扫描(Trivy)、内容签名和审计日志,帮助企业满足安全合规要求。
  5. 可扩展与集成:提供丰富的 API 和 Webhook,可与 CI/CD 流水线(如 Jenkins、GitLab CI)深度集成。

二、Harbor 的核心数据组成

要理解 Harbor 的备份、恢复和迁移,必须先清楚它的核心数据由哪几部分构成:

  1. 配置文件harbor.yml

    • 位于 Harbor 安装目录,记录了所有关键配置,如访问地址、端口、存储路径、管理员密码等。
    • 这是恢复 Harbor 时的 "蓝图",必须妥善备份。
  2. 数据库(PostgreSQL)

    • 存储了所有元数据,包括项目、用户、角色、权限、镜像标签、复制规则等。
    • 备份时通常使用 pg_dump 工具导出 SQL 文件。
  3. 镜像存储(Registry)

    • 实际的镜像 blob 数据,默认存储在 /data/registry 目录下。
    • 这部分数据量最大,是备份的重点,通常使用 rsync 等工具进行增量备份。

三、Harbor 的优缺点分析

优点

  • 开源免费:完全开源,无授权费用,适合中小企业和大型企业自建。
  • 企业级功能:权限管理、漏洞扫描、镜像复制等功能齐全,满足生产环境需求。
  • 部署灵活:支持 Docker Compose 和 Kubernetes 部署,适配不同的基础设施。
  • 活跃社区:由 CNCF 托管,社区活跃,更新频繁,问题响应快。

缺点

  • 部署复杂度:相比简单的 Docker Registry,Harbor 依赖的组件更多(PostgreSQL、Redis、Nginx 等),部署和排错难度稍高。
  • 资源消耗:在高并发场景下,对 CPU、内存和磁盘 IO 有一定要求。
  • 学习成本:功能丰富意味着需要学习的配置项和操作流程更多。

四、Harbor Web UI 模块详解(结合你的截图)

Harbor 的 Web 界面直观易用,下面我们结合你提供的截图,逐一讲解各个模块的作用:

1. 项目管理(Projects)

  • 作用:项目是 Harbor 中最核心的组织单元,所有镜像都归属于某个项目。
  • 截图解析
    • 你可以看到已创建的项目列表(如 base_deploymentk8slibrary 等),每个项目都有访问级别(公开 / 私有)、镜像仓库数等信息。
    • 点击「新建项目」可以创建新的项目,设置访问级别、配额限制等。
  • 核心操作
    • 创建 / 删除项目
    • 管理项目成员和角色
    • 查看项目内的镜像和复制规则

2. 日志(Logs)

  • 作用:记录 Harbor 中所有的操作事件,是审计和排错的重要依据。
  • 截图解析
    • 日志列表显示了用户名、资源、操作类型和时间戳。
    • 例如,harbor-jobservice 用户的 create 操作通常对应复制任务的执行,admin 用户的 delete 操作则是手动删除镜像或项目。
  • 核心价值:通过日志可以追溯每一个操作的执行者和时间,确保环境的可审计性。

3. 系统管理(System Management)

这是一个下拉菜单,包含了多个高级管理模块:

  • 用户管理(User Management)
    • 管理 Harbor 的所有用户账号,包括创建、删除、修改密码和角色。
  • 机器人账户(Robot Accounts)
    • 创建用于自动化操作(如 CI/CD 流水线拉取 / 推送镜像)的机器人账户,避免使用个人账号。
  • 仓库管理(Registries)
    • 添加和管理目标镜像仓库,用于配置复制规则。
  • 复制管理(Replication Management)
    • 创建和管理镜像复制规则,实现跨仓库的镜像同步。
  • 分布式分发(Distribution)
    • 配置 Harbor 的分发策略,优化镜像拉取性能。
  • 标签(Labels)
    • 管理自定义标签,用于对镜像和项目进行分类和筛选。
  • 项目定额(Project Quotas)
    • 为项目设置存储配额,防止单个项目耗尽所有存储空间。
  • 审查服务(Vulnerability Scanning)
    • 配置漏洞扫描服务,对镜像进行安全扫描。
  • 清理服务(Garbage Collection)
    • 执行垃圾回收,删除未被使用的镜像层,释放存储空间。
  • 任务中心(Job Center)
    • 查看和管理所有后台任务,如复制任务、垃圾回收任务等。
  • 配置管理(Configuration)
    • 修改 Harbor 的全局配置,如邮件设置、认证方式、存储后端等。

五、总结与实践建议

Harbor 是一个功能强大的企业级镜像仓库,它的核心价值在于为企业提供了一个安全、可控、可扩展的镜像管理平台。在实际使用中,建议:

  1. 合理规划项目结构:根据业务线或团队划分项目,避免所有镜像都放在一个项目中。
  2. 启用安全功能:开启漏洞扫描和内容签名,定期扫描镜像,及时修复高危漏洞。
  3. 配置复制规则:将关键项目的镜像复制到备用仓库,实现灾备。
  4. 定期备份 :定期备份 harbor.yml、数据库和镜像存储目录,确保在故障时能快速恢复。

END

如果觉得这份基础知识点总结清晰,别忘了动动小手点个赞👍,再关注一下呀~ 后续还会分享更多有关开发问题的干货技巧,同时一起解锁更多好用的功能,少踩坑多提效!🥰 你的支持就是我更新的最大动力,咱们下次分享再见呀~🌟

相关推荐
市安9 小时前
基于Debain构建Ngxin镜像
运维·nginx·docker·云原生·容器·debian·镜像
没有bug.的程序员8 天前
Docker 与 K8s 生产级实战:从镜像极致优化到集群自动化部署全流程
spring cloud·docker·kubernetes·自动化·k8s·镜像·集群自动化
独断万古他化14 天前
Docker 镜像核心知识:概念、作用与常用命令全解
docker·镜像·image
xcLeigh16 天前
Bitwarden+cpolar 让密码管理随时随地可用
ssh·域名·工具·镜像·cpolar·远程访问·bitwarden
optimistic_chen18 天前
【Docker入门】Docker Image(Docker 镜像)
linux·运维·docker·容器·镜像
fanruitian1 个月前
使用harbor搭建私有仓库
k8s·harbor
虚神界熊孩儿1 个月前
Linux下修改docker和harbor默认网段的方法
linux·docker·harbor
纯洁的小魔鬼1 个月前
Dockerfile 指令
docker·镜像·dockerfile
Kingston Chang1 个月前
利用PyTorch-CUDA镜像快速复现顶会论文实验结果
pytorch·镜像·cuda