专业的编程技术博客社区

网站首页 > 博客文章 正文

使用 Harbor(主从) 搭建私有 Docker 仓库(二)

baijin 2025-05-11 14:03:05 博客文章 4 ℃ 0 评论

云原生技术的兴起为企业数字化转型带来新的可能。Docker作为主要的云原生虚拟化技术,它包含完整的工具链,Docker编排工具、容器镜像、镜像仓库;

容器镜像包含软件运行的基础环境(OS)依赖,镜像仓库给镜像构建和分发提供存储管理;

镜像仓库工作流程拓扑图如下:

Harbor 在 Docker Distribution的基础上增加了企业用户必需的权限控制、镜像签名、安全漏洞扫描和远程复制等重要功能,还提供了图形管理界面及面向国内用户的中文支持;

官方地址:https://vmware.github.io

Github:https://github.com/goharbor/harbor

Harbor目前提供3快速部署方式:

    • 离线安装包:通过docker-compose编排运行。安装包除了包含相关的安装脚本外,还包含了所有安装所需要的Harbor组件镜像,可以在离线环境下安装使用。
    • 在线安装包:与离线安装包类似,唯一的区别就是不包含harbor组件镜像,安装时镜像需要从网络上的仓库服务拉取。
    • Helm Chart: 通过Helm的方式将Harbor部署到目标的Kubernetes集群中。 目前仅覆盖Harbor自身组件的部署安装,其所依赖的诸如数据库、Redis缓存以及可能的存储服务需要用户自己负责。

Harbor基础组件介绍:

组件名称

功能概述

harbor-registryctl

docker distribution的控制组件,提供API以便触发垃圾回收动作

harbor-portal

前端应用,对应的portal容器中有nginx服务,获取图标等信息

registry-photon

镜像存储相关的服务

harbor-jobservice

Harbor中镜像扫描、远程仓库复制都是以job的形式启动一个服务,定时执行一些任务,提供API供外部提交任务及查询执行结果

nginx-photon

nginx服务,向docker client及浏览器暴露端口,将这些客户端发来的请求反向代理到后端Core Services、Registry

redis-photon

redis服务,用于registry缓存

harbor-core

监听Registry上镜像的变化、 充当Docker Authorization Service的角色、连接Database、 提供UI界面

harbor-db

数据存储

harbor-log

用于存储harbor相关日志

prepare

用来存放harbor启动过程中需要的一些配置文件

Harbor核心功能介绍

1. 资源隔离与多租户体系

Harbor实现了以项目为单位的资源逻辑隔离体系,基于项目实现RBAC访问控制和配额管理。用户对项目资源的访问是基于其在此项目中所被指派的角色



https://goharbor.io/docs/2.2.0/administration/managing-users/user-permissions-by-role/
); 也支持多种用户系统,默认支持内嵌的数据库用户系统,同时也支持对接AD/LDAP系统以及通过一致的OIDC机制对接其它用户系统提供商;为了支撑CI/CD也提供了项目层面的机器人账号,方便CI/CD中的集成使用;2.2.0版本机器人账户调整了机器人权设计(

https://github.com/goharbor/community/pull/148

2.镜像复制

镜像仓库的一个关键功能就是实现镜像的分发; 基于策略的镜像复制机制,可以帮助用户实现将原仓库中的特定镜像集合在指定的条件下复制到目标镜像仓库中;

https://goharbor.io/docs/2.2.0/install-config/harbor-compatibility-list/

基于复制功能,可有构建主从或者中心-边缘的多层分发体系,以实现镜像内容的高效和稳定的分发。

P2P引擎缓存加速,支持 CNCF的Dragonfly和Uber的Kraken;

3.云安全(镜像签名机制)

Harbor通过引入开源的Notary框架实现了与DTR兼容的镜像制品签名机制。用户只要在Docker客户端设置以下环境变量,就可开启签名流程:

$ export DOCKER_CONTENT_TRUST=1

$ export

DOCKER_CONTENT_TRUST_SERVER=https://<harbor主机地址>:4443

之后在拉取使用镜像时,会对内容进行校验。

4.镜像漏洞扫描

Harbor 通过插件式的方式可以对接多种不同的扫描引擎来实现对其所管理的镜像制品的漏洞扫描能力。目前已经支持的扫描引擎包括 Clair、Trivy、Aqua CSP、Anchore、Sisdig、小佑DoSec 以及探针扫描器等;(2.2.0版本已下架Clair,主要支持Trivy扫描工具)

5. 资源的清理和垃圾回收机制

用户通过设置不可变tag的规则,使得满足这个规则的tag都进入不可变更的状态。

Harbor支持在线垃圾回收,用户可通过Harbor的管理界面来触发或者设置定时循环触发。

参考文献:

https://www.sohu.com/a/459303453_609552

《Harbor权威指南》

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表