每日一学:什么是 Harbor ?

news/2024/12/5 4:48:11/

目录

什么是 Harbor ?

一、Harbor 的优势

二、Harbor 架构构成 

三、Core services 这是 Harbor 的核心功能


什么是 Harbor ?

        Harbor 是 VMware 公司开源的企业级 Docker Registry 项目,其目标是帮助用户迅速搭建一个企业级的 Docker Registry 仓库服务。它以Docker公司开源的Registry为基础,提供了管理 UI。

        基于角色的访问控制(Role Based AccessControl)、AD/LDAP集成、以及审计日志 (Auditlogging) 等企业用户需求的功能。通过添加一些企业必需的功能特性,例如安全、标识和管理等,扩展了开源Docker Distribution。

        作为一个企业级私有Registry服务器,Harbor提供了更好的性能和安全,以提升用户使用 Registry 构建和运行环境传输镜像的效率。

一、Harbor 的优势

        基于角色控制:用户和仓库都是基于项目进行组织的,而用户基于项目可以拥有不同的权限。

        基于镜像的复制策略: 镜像可以在多个 Harbor 实例之间进行复制(同步)。适用于负载平衡、高可用性、多数据中心、混合和多云场景。

        支持 LDAP / AD:Harbor 与现有的企业 LDAP / ADA 集成,用于用户认证和管理。

        图像删除和垃圾收集:镜像可以被删除,也可以回收镜像占用的空间。

        图形 UI:用户可以轻松浏览、搜索镜像仓库以及对项目进行管理。

        审计: 对存储库的所有操作都进行记录。

        RESTful API:用于大多数管理操作的 RESTful API,易于与外部系统集成。

二、Harbor 架构构成 

        Proxy:Harbor 的 Registry、UI、token 等服务。通过一个前置的反向代理统一接收浏览器Docker 客户端的请求,并将请求转发给后端不同的服务。

        Registry:负责储存Docker镜像,并处理 Docker push/pull 命令。由于要对用户进行访问控制,即不同用户对Docker image有不同的读写权限,Registry会指向一个 token服务,强制用户的每次 Docker pull/push 请求都要携带一个合法的token,Registry会通过公钥对 token 进行解密验证。

三、Core services 这是 Harbor 的核心功能

主要提供以下服务:

        UI(Harbor-ui):提供图形化界面,帮助用户管理 Registry 上的镜像(image), 并对用户进行授权。

        Webhook:为了及时获取 registry 上image状态变化的情况,在Registry上配置webhook,把状态变化传递给UI模块。

        Token 服务:负责根据用户权限给每个Docker push/pull命令签发token.Docker客户端向 Regiøstry服务发起的请求,如果不包含token,会被重定向到这里,获得token后再重新向 Registry进行请求。

        Database(Harbor-db):为 core services 提供数据库服务,负责储存用户权限、审计日志、Docker image 分组信息等数据。

        Log collector(Harbor-log):为了帮助监控 Harbor 运行,负责收集其他组件的log,供日后进行分析。

 

        Harbor的每个组件都是以Docker容器的形式构建的,因此,使用Docker Compose 来 对它进行部署。在源代码中(https://github.com/vmware/Harbor), 用于部署Harbor的Docker Compose 模板位于 Harbor/make/docker-compose.tpl。

13363571949@163.com


http://www.ppmy.cn/news/1015635.html

相关文章

前端根据url在线预览功能

文章目录 加载脚本WORDexcelpdfimgvideo 加载脚本 // wordawait this.utils.loadScript(https://unpkg.com/promise-polyfill/dist/polyfill.min.js)await this.utils.loadScript(https://unpkg.com/jszip/dist/jszip.min.js)await this.utils.loadScript(https://unpkg.com/do…

C++初阶——函数重载

前言:C中除了可以在不同的命名空间中使用同名函数,还有一种支持在同一个作用域中同名函数的方式——函数重载。 函数重载 一.什么是函数重载?二.函数重载的3种规则三.特殊情况 一.什么是函数重载? C允许同样同一作用域中声明几个功…

维深(Wellsenn):2023中国消费端VR内容开发商调研报告(附下载

关于报告的所有内容,公众【营销人星球】获取下载查看 核心观点 国内互联网大厂商入局VR,字节跳动、网易表态明确。字节跳动2021年收购国内头部VR硬件厂商PICO后,加速构建VR内容生态,2021年 成立海南创见未来当前已推出VR视频应用…

DP与EDP接口协议学习

文章目录 一、概念介绍DP----DisplayPort,一种标准化数字式视频接口&协议EDP---Embedded DisplayPort,DP协议在嵌入式领域拓展DP和HDMI对比----HDMI当前应用更广,DP是PC领域推出协议 二、DP&EDP相关协议分析三条数据通路Manlink 、Au…

海思uvc_app源码学习笔记

文章目录 前言流程hicamerahistreamhiuvc 模块分析总结 前言 海思mpp例子里面的uvc_app源码学习笔记。 看了半天,以为是3516读取usb摄像头数据的,结果是实现一个usb摄像头的。可以搞个公对公的usb线测试下。 大概流程是从摄像头获取图像,进行…

ChatGPT发展到了什么程度?代码生成,程序员将被取代?

前言 ChatGPT 是一个基于人工智能的聊天机器人,由 OpenAI 开发。ChatGPT 的历史可以追溯到早期的语言模型,例如循环神经网络 (RNN) 和长短时记忆网络 (LSTM)。如今的 ChatGPT-3 则是最新的版本。 ChatGPT发展到了什么程度?代码生成&#xff0…

vs code remote ssh: Resolver error: Error: Got bad result from install script

今天像往常一样,打开 windows 11,使用 vs code 远程连接服务器 ubuntu 20,但是遇到了一个错误:Resolver error: Error: Got bad result from install script。 ok!!!开始 Bing !&…

每天一道leetcode:剑指 Offer 50. 第一个只出现一次的字符(适合初学者)

今日份题目: 在字符串 s 中找出第一个只出现一次的字符。如果没有,返回一个单空格。 s 只包含小写字母。 示例1 输入:s "abaccdeff" 输出:b 示例2 输入:s "" 输出: 提示 0 …