网站首页 > 博客文章 正文
云原生技术的兴起为企业数字化转型带来新的可能。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权威指南》
- 上一篇: 腾讯云国际站:怎样搭建私有Docker仓库?
- 下一篇: 手把手教你搭建嵌入式容器化开发环境!
猜你喜欢
- 2025-05-11 idea整合dockerfile插件,打包镜像(docker环境可不安装)
- 2025-05-11 超详细!基于k8s+docker+jenkins的一站式 DevOps 环境搭建教程-下
- 2025-05-11 Kubernetes(K8s)+ GitLab + Jenkins 实现CI/CD
- 2025-05-11 docker的镜像和仓库(docker镜像仓库地址)
- 2025-05-11 轻量容器如何改变开发世界?Docker 基本概念与架构详解
- 2025-05-11 微服务时代,运维必须了解的那些事(服务架构演变)
- 2025-05-11 目前还能用的Docker容器加速方案和可用镜像源
- 2025-05-11 替代虚拟机的容器Docker安装教程——(Windows版)
- 2025-05-11 k8s系列-06-containerd的基本操作
- 2025-05-11 K8s+Jenkins+Harbor+Gitlab+Pipeline+Rust 持续集成(三)
你 发表评论:
欢迎- 367℃用AI Agent治理微服务的复杂性问题|QCon
- 358℃初次使用IntelliJ IDEA新建Maven项目
- 356℃手把手教程「JavaWeb」优雅的SpringMvc+Mybatis整合之路
- 351℃Maven技术方案最全手册(mavena)
- 348℃安利Touch Bar 专属应用,让闲置的Touch Bar活跃起来!
- 346℃InfoQ 2024 年趋势报告:架构篇(infoq+2024+年趋势报告:架构篇分析)
- 345℃IntelliJ IDEA 2018版本和2022版本创建 Maven 项目对比
- 342℃从头搭建 IntelliJ IDEA 环境(intellij idea建包)
- 最近发表
- 标签列表
-
- powershellfor (55)
- messagesource (56)
- aspose.pdf破解版 (56)
- promise.race (63)
- 2019cad序列号和密钥激活码 (62)
- window.performance (66)
- qt删除文件夹 (72)
- mysqlcaching_sha2_password (64)
- ubuntu升级gcc (58)
- nacos启动失败 (64)
- ssh-add (70)
- jwt漏洞 (58)
- macos14下载 (58)
- yarnnode (62)
- abstractqueuedsynchronizer (64)
- source~/.bashrc没有那个文件或目录 (65)
- springboot整合activiti工作流 (70)
- jmeter插件下载 (61)
- 抓包分析 (60)
- idea创建mavenweb项目 (65)
- vue回到顶部 (57)
- qcombobox样式表 (68)
- vue数组concat (56)
- tomcatundertow (58)
- pastemac (61)
本文暂时没有评论,来添加一个吧(●'◡'●)