网站首页 > 精选教程 正文
云原生技术的兴起为企业数字化转型带来新的可能。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权威指南》
猜你喜欢
- 2024-10-18 Java面试技术问答宝典(48)——可以从哪些方面优化 nginx服务?
- 2024-10-18 Redis数据持久化机制、主从同步原理、常见规范与优化详解
- 2024-10-18 《Linux系统架构与运维实战》新版目录大纲
- 2024-10-18 阿里云Centos7.6配置Mysql主从数据库(master/slave)实现读写分离
- 2024-10-18 双机高可用、负载均衡、MySQL (读写分离、主从自动切换)架构设计
- 2024-10-18 为啥单机MySQL又遭遇瓶颈?MySQL主从复制替你解决单机问题
- 2024-10-18 面试官:关于负载均衡你了解多少,知道哪些常用框架?
- 2024-10-18 Docker搭建Redis主从复制+哨兵 docker搭建redis哨兵模式
- 2024-10-18 详解Redis的主从同步原理 redis主从机制
- 2024-10-18 redis集群模式:redis单点、redis主从、redis集群cluster
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- nginx反向代理 (57)
- nginx日志 (56)
- nginx限制ip访问 (62)
- mac安装nginx (55)
- java和mysql (59)
- java中final (62)
- win10安装java (72)
- java启动参数 (64)
- java链表反转 (64)
- 字符串反转java (72)
- java逻辑运算符 (59)
- java 请求url (65)
- java信号量 (57)
- java定义枚举 (59)
- java字符串压缩 (56)
- java中的反射 (59)
- java 三维数组 (55)
- java插入排序 (68)
- java线程的状态 (62)
- java异步调用 (55)
- java中的异常处理 (62)
- java锁机制 (54)
- java静态内部类 (55)
- java怎么添加图片 (60)
- java 权限框架 (55)
本文暂时没有评论,来添加一个吧(●'◡'●)