当前位置: 首页 > news >正文

Harbor介绍

1.什么是Harbor

Harbor是一个开源的企业级Docker Registry管理项目,由VMware公司开源。

Harbor提供了比Docker官方公共镜像仓库更为丰富和安全的功能,尤其适合企业环境使用。以下是Harbor的一些关键特性:

  1. 权限管理(RBAC):通过基于角色的访问控制,确保只有授权用户才能访问特定的镜像仓库。
  2. LDAP集成:支持与LDAP服务集成,便于在企业环境中管理和认证用户身份。
  3. 日志审计:提供详细的日志记录功能,帮助企业进行操作跟踪和安全审计。
  4. 管理界面:提供直观的Web管理界面,方便用户进行镜像仓库的管理和维护。
  5. 自我注册:允许用户自行注册到Harbor,以便更好地管理自己的镜像和配置信息。
  6. 镜像复制:支持跨存储库的镜像复制,便于在不同位置部署和同步镜像。
  7. 漏洞扫描:新版本的Harbor增加了扫描镜像中漏洞的功能,并将镜像标记为受信任,增强了安全性。
  8. HTTPS支持:支持通过HTTPS协议来保护数据传输的安全性。

2.列举出所提到的对象或系统的所有组件,并详细描述每个组件的功能和作用

Harbor是一个复杂的系统,它由多个组件构成,每个组件都有其特定的功能和作用。以下是Harbor主要组件的详细描述:

  1. Docker Registry:

    • 功能:存储和分发Docker镜像。
    • 作用:Registry是Harbor的核心组件,它提供了镜像的存储、检索、分发等功能。在Harbor中,Registry负责处理镜像的上传、下载和管理请求。
  2. Database:

    • 功能:存储Harbor系统中的数据,包括用户信息、镜像元数据、权限配置等。
    • 作用:数据库是Harbor的信息存储中心,确保了数据的持久化和快速查询。
  3. Web UI (User Interface):

    • 功能:提供图形化的界面,方便用户进行操作和管理。
    • 作用:通过Web UI,用户可以浏览镜像仓库、管理项目、配置权限和使用Harbor的其它功能。
  4. API Server:

    • 功能:提供RESTful API接口,允许程序化访问和控制Harbor。
    • 作用:API Server使得其他软件和工具可以与Harbor集成,并对其进行编程控制。
  5. Advanced Logging & Auditing:

    • 功能:记录操作日志,提供审计跟踪功能。
    • 作用:这个组件帮助企业监控Harbor的使用情况,并满足合规性要求。
  6. LDAP Service:

    • 功能:提供用户身份验证和授权服务。
    • 作用:通过与现有的LDAP服务集成,Harbor可以方便地管理用户账户和权限,无需维护独立的用户目录。
  7. Job Service:

    • 功能:执行后台任务,如镜像扫描和垃圾回收。
    • 作用:Job Service确保Harbor能够高效地处理耗时的任务,而不会干扰到前台的用户操作。
  8. Clair Security Scanner (在较新的Harbor版本中提供):

    • 功能:对Docker镜像进行漏洞扫描。
    • 作用:Clair安全扫描器增强了Harbor的安全性,可以在镜像被推送到仓库之前检测潜在的安全漏洞。
  9. Notary Service:

    • 功能:为Docker镜像提供签名和验真服务。
    • 作用:确保镜像的来源和完整性,提高镜像分发的安全性。
  10. Token Service:

    • 功能:管理访问令牌,提供用户认证。
    • 作用:Token Service用于处理用户的登录和认证过程,生成和管理用于访问Harbor的令牌。

3.它都有什么优点或缺点

Harbor作为一个企业级的容器镜像管理工具,它的优点和缺点都值得关注。

优点方面

  1. 多用户管理和基于角色的访问控制:Harbor支持多用户环境,允许创建不同的用户和组织,并为他们分配不同的权限,确保了资源的安全隔离和管理的灵活性。
  2. 丰富的管理功能:Harbor为管理员提供了丰富的管理选项,包括项目隔离、存储配额、制品保留等,使得管理员可以细致地控制资源的使用和分配。
  3. 支持多种制品类型:除了容器镜像,Harbor还支持符合OCI规范的其他制品,如Helm Chart、CNAB、OPA Bundle等,这使得它可以适应更多类型的云原生应用。
  4. 安全性:Harbor提供了漏洞扫描、来源签名、不可变制品等安全功能,帮助保护存储在仓库中的镜像不受安全威胁。

缺点方面

  1. 性能限制:在某些情况下,Harbor可能会遇到I/O带宽较低和读写延迟较高的问题,这可能会影响大规模部署时的性能。
  2. 稳定性问题:尽管Harbor是一个成熟的产品,但在特定的环境和负载下,可能会遇到稳定性方面的挑战。
  3. 配置和维护复杂度:Harbor的配置和管理可能相对复杂,需要对Docker和Kubernetes有一定的了解,以便有效地部署和维护。

4.最主要的功能是什么,达到那种程度才算真正掌握了它

要真正掌握Harbor,需要达到能够熟练运用其核心功能的程度。

首先,理解并能够配置Harbor的访问控制和权限管理是至关重要的。这包括对角色分配、权限管理和访问策略的熟悉,以确保只有授权用户才能访问和操作镜像。

其次,掌握镜像仓库管理能力,这涉及到存储和管理Docker容器镜像,以及支持镜像搜索和标签管理的能力。

再者,熟悉Harbor的漏洞扫描镜像签名功能也是必要的。这包括自动扫描镜像中的漏洞以确保安全性,以及为镜像添加数字签名以确保其完整性和来源可靠性。

最后,了解Harbor支持的多存储后端镜像复制功能也是很重要的。这意味着您可以在不同环境中部署和使用镜像,以及将镜像从一个Harbor实例复制到另一个实例。

此外,为了更好地理解和掌握Harbor,您还应该:

  • 实践操作:通过实际操作Harbor,您可以更好地理解其工作原理和功能。尝试搭建自己的Harbor环境,进行镜像的上传、下载和管理,以及配置访问控制和权限管理。
  • 学习最佳实践:研究文档和社区,了解如何优化Harbor的配置和性能,以及如何与其他工具(如Jenkins)集成。
  • 关注安全更新:定期检查Harbor的安全更新和补丁,确保您的镜像仓库始终保持最新和最安全的状态。
  • 参与社区:加入Harbor的用户社区,参与讨论和交流,从其他用户那里获得宝贵的经验和建议。

5.Harbor的核心功能,即存储和管理Artifact

Harbor的核心功能是存储和管理Artifact,这包括以下几个方面:

  • 镜像仓库管理:Harbor提供了强大的镜像仓库管理功能,允许用户存储和检索Docker容器镜像。它还支持镜像搜索和标签管理,使得组织和维护容器镜像变得高效和简便。
  • 访问控制:通过角色分配和权限管理,Harbor确保了只有授权用户才能访问特定的Artifact。这有助于保护敏感数据并防止未经授权的访问。
  • 命令行工具支持:Harbor允许用户使用命令行工具对容器镜像及其他Artifact进行推送和拉取,这为用户提供了灵活的操作方式。
  • 资源配额管理:Harbor还提供了资源配额的功能,可以基于项目而非用户来设置存储总量的限制,这有助于合理分配和监控存储资源的使用。
  • 垃圾回收机制:当用户在Harbor中删除Artifact时,实际上是进行了“软删除”,即只删除了Artifact对应的数据记录,而没有删除存储。Harbor提供了垃圾回收机制来自动管理存储资源,释放不再使用的存储空间。

6.Harbor的漏洞扫描和镜像签名功能

Harbor的漏洞扫描和镜像签名功能是其核心特性之一,它们为容器镜像的安全性提供了重要支持。

漏洞扫描功能

  1. 集成漏洞扫描工具:Harbor可以与漏洞扫描工具如Trivy集成,以便于在镜像被推送到仓库之前进行自动扫描。
  2. 扫描过程:漏洞扫描工具会从Harbor镜像仓库中拉取镜像,并对其进行分析,以识别潜在的安全漏洞。
  3. 安全性强化:通过漏洞扫描,Harbor帮助确保存储在仓库中的容器镜像不含有已知的安全漏洞,从而保护企业应用的安全。

镜像签名功能

  1. 签名机制:Harbor支持对容器镜像进行数字签名,确保镜像的来源和完整性。
  2. 信任和验证:用户可以通过验证镜像签名来确保所下载的镜像是由可信的开发者或组织发布的,并且未被篡改。
  3. 标准化格式:Harbor支持的镜像格式包括Docker的标准镜像格式以及遵循Open Container Initiative(OCI)规范的格式,这意味着它能够处理各种标准的容器镜像。

7.Helm Chart、CNAB、OPA Bundle等符合OCI规范的制品的管理

Harbor 2.0作为一个符合OCI(Open Container Initiative)规范的开源镜像仓库,它能够存储和管理多种云原生工件,例如容器镜像、Helm Chart、OPA、Singularity等。这些制品都可以通过Harbor进行分发和管理。具体来说,以下是关于这些制品的一些管理细节:

  • Helm Chart:Helm是Kubernetes的包管理器,而Helm Chart是预先配置的Kubernetes应用包。在Harbor中,Helm Chart可以作为Artifact存储和管理,而且随着社区对兼容OCI规范的Helm Chart的接受度提高,Harbor支持不再依赖ChartMuseum进行Helm Chart的管理。
  • CNAB:CNAB是Cloud Native Application Bundle的缩写,是一种用于封装云原生应用的文件格式。在Harbor中,它们可以被当作OCI Artifacts来处理,这意味着它们可以按照OCI的分发规范被推送到仓库和从仓库拉取。
  • OPA Bundle:OPA是Open Policy Agent的简称,是一种开源的、通用的策略引擎。OPA Bundle是包含策略文件和配置文件的压缩包,同样可以在Harbor中以OCI Artifact的形式存储和管理。

8.漏洞扫描工具Trivy

Trivy是一个开源的容器镜像安全漏洞扫描工具。以下是Trivy的一些主要特点和优势:

  1. 全面性:Trivy能够检测操作系统包(如Alpine、RHEL、CentOS等)和应用程序依赖(如Bundler、Composer、npm、yarn等)的漏洞。这使它能够在多个层面上确保容器镜像的安全性。
  2. 简易性:Trivy的使用非常方便,只需安装二进制文件即可开始扫描。用户只需指定容器的镜像名称,就可以进行漏洞检测。
  3. 集成性:Trivy特别适合在持续集成(CI)环境中使用,可以方便地集成到DevOps流程中,确保在容器镜像被推送到仓库之前进行安全检查。
  4. 更新性:为了保持漏洞库的最新状态,Trivy会定期更新其漏洞数据库,以便能够识别最新的安全威胁。
  5. 准确性:Trivy在准确性方面表现出色,它通过对比漏洞库中的数据来识别潜在的安全问题。
  6. 社区支持:作为一个开源项目,Trivy拥有一个活跃的社区,用户可以从社区获得支持和最新的安全信息。
  7. 平台支持:Trivy支持多种平台,包括Java相关的漏洞检测,这意味着它能够识别与Java相关的安全漏洞。

相关文章:

Harbor介绍

1.什么是Harbor Harbor是一个开源的企业级Docker Registry管理项目,由VMware公司开源。 Harbor提供了比Docker官方公共镜像仓库更为丰富和安全的功能,尤其适合企业环境使用。以下是Harbor的一些关键特性: 权限管理(RBAC&#x…...

解决jenkins运行磁盘满的问题

参考:https://blog.csdn.net/ouyang_peng/article/details/79225993 分配磁盘空间相关操作: https://cloud.tencent.com/developer/article/2230624 登录jenkins相对应的服务或容器中查看磁盘情况: df -h在102挂载服务器上看到是这两个文件…...

使用echart绘制拓扑图,树类型,自定义tooltip和label样式,可收缩

效果如图: 鼠标移上显示 vue3 - ts文件 “echarts”: “^5.4.3”, import { EChartsOption } from echarts import * as echarts from echarts/core import { TooltipComponent } from echarts/components import { TreeChart } from echarts/charts import { C…...

常用的6个的ChatGPT网站,国内可用!

GPTGod 🌐 链接: GPTGod 🏷️ 标签: GPT-4 免费体验 支持API 支持绘图 付费选项 📝 简介:GPTGod 是一个功能全面的平台,提供GPT-4的强大功能,包括API接入和绘图支持。用户可以选择免…...

Linux课程____Samba文件共享服务

一、 Samba服务基础 SMB协议,服务消息块 CIFS协议,通用互联网文件系统 1.Samba 服务器的主要程序 smbd:提供对服务器中文件、打印资源的共享访问 nmbd:提供基于 NetBlOS 主机名称的解析 2.目录文件 /etc/samba/smb.conf 检查工具:test…...

Java学习day1

打开命令提示符(cmd)窗口: 按下winR键,输入cmd 按回车或点击确定,打开cmd窗口 常用cmd命令 盘符名称冒号(D:):盘符切换,示例表示由C盘切换到D盘 dir:查看当前路径下的内…...

ByteTrack多目标跟踪——YOLOX详解

文章目录 1 before train1.1 dataset1.2 model 2 train2.1 Backbone2.2 PAFPN2.3 Head2.3.1 Decoupled Head2.3.2 anchor-free2.3.3 标签分配① 初步筛选② simOTA 2.3.4 Loss计算 项目地址: ByteTrack ByteTrack使用的检测器是YOLOX,是一个目前非常流行…...

Linux 常见驱动框架

一、V4L2驱动框架 v4l2驱动框架主要对象: (1)video_device:一个字符设备,为用户空间提供设备节点(/dev/videox),提供系统调用的相关操作(open、ioctl…) (2)v4l2_device&#xff1a…...

Oracle函数6—递归查询(start with...connect by、sys_connect_by_path、level)

文章目录 一、准备数据二、基本使用三、level函数四、获取完整的全树路径 一、准备数据 创建表 CREATE TABLE TEST_ORG (ID VARCHAR2(64) NOT NULL PRIMARY KEY,NAME VARCHAR2(200),PARTEN_ID VARCHAR2(64) ); comment on column TEST_ORG.ID is 主键; comment on column TES…...

人机交互三原则,网络7层和对应的设备、公钥私钥

人机交互三原则 heo Mandel提出了人机交互的三个黄金原则,它们强调了相似的设计目标,分别是: 简单总结为:控负持面–>空腹吃面 1,用户控制 2,减轻负担 3,保持界面一致 置用户于控制之下&a…...

vue2源码学习01配置rollup打包环境

1.下载rollup相关依赖 npm i rollup rollup-plugin-babel babel/core babel/preset-env --save-dev 2.新建rollup.config.js配置打包选项 //rollup可以导出一个对象,作为打包的配置文件 import babel from rollup-plugin-babel export default {input: ./src/ind…...

DP:斐波那契数列模型

创作不易,感谢三连支持 ! 斐波那契数列用于一维探索的单峰函数之中,用于求解最优值的方法。其主要优势为,在第一次迭代的时候求解两个函数值,之后每次迭代只需求解一次 。 一、第N个泰波那契数 . - 力扣(…...

JavaScript高级(十四)----prmise

异步请求的处理方式 回调函数 所谓的回调函数就是函数作为参数的传递,在一个函数内部调用另一个函数,调用的同时可以把内部函数的数据传递出来,他的使用场景就是异步操作,数据需要等待一段时间才能返回的情况下可以使用回调函数…...

28 OpenCV 轮廓周围绘制图形

文章目录 approxPolyDP 轮廓周围绘制矩形boundingRectminAreaRect绘制圆和椭圆示例 approxPolyDP 轮廓周围绘制矩形 approxPolyDP(InputArray curve, OutputArray approxCurve, double epsilon, bool closed)curve:输入点集,二维点向量的集合appro…...

校企合作,助力人才培养——黄冈师范学院-唯众 “实习实训基地”揭牌仪式顺利举行

3月20日上午,黄冈师范学院计算机学院院长何中林、教务处实习科科长雷汝琳以及计算机学院实验室主任肖飞一行三人,莅临唯众进行参观交流。唯众总经理冉柏权、销售总监舒敏以及董事长助理代西凯进行了热情接待。双方就如何更好地结合企业需求与学院教育资源…...

npm audit fix --force

npm audit fix --force是npm的一个命令,用于自动修复包中的安全漏洞。 其中: - npm audit:审查项目中的依赖包,检查是否存在已知的安全漏洞。 - fix:自动安装相关的补丁来修复发现的漏洞。 - --force:强制安装补丁版本,即使出现不兼容也强制更新。 所以npm audit fix --fo…...

递增四元组

解法: 首先都可以想到dp[i]:第i个元素结尾的递增四元组有dp[i]个 然后发现有一组数据:2,3,6,1,5,8。会出现6结尾和5结尾的递增三元组,也就是未来的决策受过去影响,专业的说就是有后效性。需要强化约束条件&#xff0…...

蓝桥杯每日一题——棋盘

问题描述 小蓝拥有 n xn 大小的棋盘,一开始棋盘上全都是白子。小蓝进行了 m 次操作,每次操作会将棋盘上某个范围内的所有棋子的颜色取反(也就是白色棋子变为黑色,黑色棋子变为白色)请输出所有操作做完后棋盘上每个棋子的颜色。输入格式 输入的…...

QT6实现创建与操作sqlite数据库及读取实例(一)

一.Qt为SQL数据库提供支持的基本模块(Qt SQL) Qt SQL的API分为不同层: 驱动层 SQL API层 用户接口层 1.驱动层 对于Qt 是基于C来实现的框架,该层主要包括QSqlDriver,QSqlDriverCreator,QSqlDriverCreatorBase,QSqlPlug…...

第十四届蓝桥杯JavaB组省赛真题 - 阶乘求和

/ 10^9考虑前九位,% 10^9保留后9位 解题思路: 求获取结果的后九位数字,需要对10^9取余,因为202320232023这个数字的阶乘太大,必须要减少计算量,因为当一个整数乘以10^9后对其取余,那么结果都为0。 所以我…...

利用最小二乘法找圆心和半径

#include <iostream> #include <vector> #include <cmath> #include <Eigen/Dense> // 需安装Eigen库用于矩阵运算 // 定义点结构 struct Point { double x, y; Point(double x_, double y_) : x(x_), y(y_) {} }; // 最小二乘法求圆心和半径 …...

前端导出带有合并单元格的列表

// 导出async function exportExcel(fileName "共识调整.xlsx") {// 所有数据const exportData await getAllMainData();// 表头内容let fitstTitleList [];const secondTitleList [];allColumns.value.forEach(column > {if (!column.children) {fitstTitleL…...

MMaDA: Multimodal Large Diffusion Language Models

CODE &#xff1a; https://github.com/Gen-Verse/MMaDA Abstract 我们介绍了一种新型的多模态扩散基础模型MMaDA&#xff0c;它被设计用于在文本推理、多模态理解和文本到图像生成等不同领域实现卓越的性能。该方法的特点是三个关键创新:(i) MMaDA采用统一的扩散架构&#xf…...

linux 下常用变更-8

1、删除普通用户 查询用户初始UID和GIDls -l /home/ ###家目录中查看UID cat /etc/group ###此文件查看GID删除用户1.编辑文件 /etc/passwd 找到对应的行&#xff0c;YW343:x:0:0::/home/YW343:/bin/bash 2.将标红的位置修改为用户对应初始UID和GID&#xff1a; YW3…...

04-初识css

一、css样式引入 1.1.内部样式 <div style"width: 100px;"></div>1.2.外部样式 1.2.1.外部样式1 <style>.aa {width: 100px;} </style> <div class"aa"></div>1.2.2.外部样式2 <!-- rel内表面引入的是style样…...

三体问题详解

从物理学角度&#xff0c;三体问题之所以不稳定&#xff0c;是因为三个天体在万有引力作用下相互作用&#xff0c;形成一个非线性耦合系统。我们可以从牛顿经典力学出发&#xff0c;列出具体的运动方程&#xff0c;并说明为何这个系统本质上是混沌的&#xff0c;无法得到一般解…...

MySQL账号权限管理指南:安全创建账户与精细授权技巧

在MySQL数据库管理中&#xff0c;合理创建用户账号并分配精确权限是保障数据安全的核心环节。直接使用root账号进行所有操作不仅危险且难以审计操作行为。今天我们来全面解析MySQL账号创建与权限分配的专业方法。 一、为何需要创建独立账号&#xff1f; 最小权限原则&#xf…...

在鸿蒙HarmonyOS 5中使用DevEco Studio实现企业微信功能

1. 开发环境准备 ​​安装DevEco Studio 3.1​​&#xff1a; 从华为开发者官网下载最新版DevEco Studio安装HarmonyOS 5.0 SDK ​​项目配置​​&#xff1a; // module.json5 {"module": {"requestPermissions": [{"name": "ohos.permis…...

CSS3相关知识点

CSS3相关知识点 CSS3私有前缀私有前缀私有前缀存在的意义常见浏览器的私有前缀 CSS3基本语法CSS3 新增长度单位CSS3 新增颜色设置方式CSS3 新增选择器CSS3 新增盒模型相关属性box-sizing 怪异盒模型resize调整盒子大小box-shadow 盒子阴影opacity 不透明度 CSS3 新增背景属性ba…...

node.js的初步学习

那什么是node.js呢&#xff1f; 和JavaScript又是什么关系呢&#xff1f; node.js 提供了 JavaScript的运行环境。当JavaScript作为后端开发语言来说&#xff0c; 需要在node.js的环境上进行当JavaScript作为前端开发语言来说&#xff0c;需要在浏览器的环境上进行 Node.js 可…...