千家信息网

VMware中Harbor组件的原理是什么

发表于:2025-02-01 作者:千家信息网编辑
千家信息网最后更新 2025年02月01日,VMware中Harbor组件的原理是什么,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。简易架构图harbor-adminserve
千家信息网最后更新 2025年02月01日VMware中Harbor组件的原理是什么

VMware中Harbor组件的原理是什么,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

简易架构图

harbor-adminserver   /harbor/start.sh                 Up (healthy)                                                                   harbor-db            /usr/local/bin/docker-entr ...   Up (healthy)   3306/tcp                                                        harbor-jobservice    /harbor/start.sh                 Up                                                                             harbor-log           /bin/sh -c /usr/local/bin/ ...   Up (healthy)   127.0.0.1:1514->10514/tcp                                       harbor-ui            /harbor/start.sh                 Up (healthy)                                                                   nginx                nginx -g daemon off;             Up (healthy)   0.0.0.0:443->443/tcp, 0.0.0.0:4443->4443/tcp, 0.0.0.0:80->80/tcpredis                docker-entrypoint.sh redis ...   Up             6379/tcp                                                        registry             /entrypoint.sh serve /etc/ ...   Up (healthy)   5000/tcp
  1. harbor-adminserver:harbor系统管理接口,可以修改系统配置以及获取系统信息

  2. harbor-db:存储项目的元数据、用户、规则、复制策略等信息

  3. harbor-jobservice:harbor里面主要是为了镜像仓库之前同步使用的

  4. harbor-log:收集其他harbor的日志信息。rsyslogd

  5. harbor-ui:一个用户界面模块,用来管理registry。主要是前端的页面和后端CURD的接口

  6. nginx:harbor的一个反向代理组件,代理registry、ui、token等服务。这个代理会转发harbor web和docker client的各种请求到后端服务上。是个nginx。nginx负责流量转发和安全验证,对外提供的流量都是从nginx中转,它将流量分发到后端的ui和正在docker镜像存储的docker registry

  7. registry:存储docker images的服务,并且提供pull/push服务。harbor需要对image的访问进行访问控制,当client每次进行pull、push的时候,registry都需要client去token服务获取一个可用的token。

  8. redis:存储缓存信息

  9. webhook:当registry中的image状态发生变化的时候去记录更新日志、复制等操作。
    token service:在docker client进行pull/push的时候今天token的发放。

harbor-login

a nginx代理在80端口收到client发来的请求,然后把该请求转发到后端的registry。

b registry收到请求,因为registry是配置的token-based的认证,所以会直接返回一个401状态码,然后返回一个url,通知client去哪里获取token,也就是token service

c 当docker client收到这个url后,会对这个url发起请求,需要在请求头中植入用户名和密码。

d 当请求到达nginx反向代理后,nginx会把该请求转发至ui服务上,因为ui符合token服务在一个容器里面,token服务会解码请求头中用户名和密码

e 拿到用户名和密码后会和db中的进行对比,如果验证无误,则返回成功,在返回的http请求中包含一个私有key

harbor-push

省略了proxy转发这一步
当你登录harbor成功后,docker push就可以使用了。

a docker client和registry交互,获取到token service的url
b 随后docker client和token service交互,告诉token需要进行push操作
c token服务查看db,该用户是否有相关的权限来push image,如果有相关权限,则返回一个私有的key
d docker client拿到token后,会对registry发起push请求,当registry收到请求后,会用自己的公钥解密token,如果验证token是合格的,则开始image传输过程

附加

clair

是 coreos 开源的容器漏洞扫描工具,在容器逐渐普及的今天,容器镜像安全问题日益严重。clair 是目前少数的开源安全扫描工具,主要提供OS(centos,debian,ubuntu等)的软件包脆弱性扫描。clair的可以单机部署也可以部署到k8s上,可以与现有的registry集成。harbor 很好的整合了 clair ,通过简单的UI就可以对上传的镜像扫描,还可以通过每天的定时扫描对所有镜像进行统一扫描,架构如下:

关于VMware中Harbor组件的原理是什么问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注行业资讯频道了解更多相关知识。

服务 用户 镜像 代理 信息 容器 问题 存储 组件 安全 密码 时候 流量 系统 验证 原理 成功 工具 接口 日志 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 乒乓球知识宣传网络安全手抄报 汕头电信服务器 数据库安装后需要重启电脑吗 方舟生存手游版好玩的服务器 老干部参观网络安全科技馆 网络安全工程师年纪大了还行吗 软件开发有税收优惠 网络安全存在隐患英语 福建省互联网科技有限公司 交通管理工程和网络安全与执法 附加数据库文 苏州凯尔吉网络技术有限公司 谨防网络安全共建网络文明ppt 考研数据库技术与应用真题 国际服如何更新服务器 公司服务器机柜厂商 数据库统计去重次数的语句 2014 网络安全 事件 数据库cnki什么意思 数据库查询rowid用法 腾讯云服务器共享数据 虚拟主机能用本地的数据库吗 易语言数据库管理系统 苹果软件开发者费用是多少 服务器换新网卡不识别 合肥大学生网络安全 集结号游戏登陆服务器 软件开发体验课主题 企业网络安全技术公司 为服务器添加文件服务器
0