如何在云计算基础架构平台中创建云主机
224
2023-10-25
【摘要】 本书摘自《基于Kubernetes的容器云平台实战》一书中第4章,第2节,由陆平、左奇、付光和张晗等编著。
4.2 Harbor
Harbor是由VMware 公司开源的容器镜像仓库,它在Docker Registry的基础上进行了 企业级扩展,包括基于角色的权限控制、 AD/LDAP 集成、可视化管理界面、日志审计等, 它同Docker Registry一样提供容器镜像的存储及分发服务,但与 Docker Registry 有很多不 同,Harbor进行了不少优化及改进,主要差别如下:
1)传输效率优化: Harbor根据容器镜像每层的UUID 标识进行增量同步,而不是全量 同步,减少带宽及其他资源占用。
2)镜像仓库水平扩展:由于上传、下载镜像文件涉及大量的耗时I/O操作,当用户 对性能有较高要求时,需要创建多个Registry, 通过负载均衡器将访问压力分发到不同的 Registry, 同时多个Registry存储时进行镜像文件的同步,便于水平扩展。
3)用户认证: Harbor在 Docker Registry的基础上扩展了用户认证授权的功能,用户 在Harbor中进行访问需要携带token, 以增强安全性。
4)镜像安全扫描:上传到Harbor上的镜像文件能够通过clair的安全扫描,以发现镜 像中存在的安全漏洞,并提高镜像文件的安全性。
5)提供Web 界面以优化用户体验: Registry只提供命令行方式,没有操作界面,而 Harbor提供用户界面,可以支持登录、搜索功能,镜像分类管理包括区分公有、私有镜像 等功能,优化了用户管理及操作体验。
4.2.1 Harbor 架构
Harbor由5个组件构成,架构如图4-2所示。
(1)Proxy
Proxy是镜像仓库核心服务 (Registry、UI、token等)的前端访问代理,通过这个代理 可统一接收客户端发送来的请求,并将此请求转发给后端不同的服务进行处理。
(2)Registry
Registry是容器镜像仓库,负责Docker 镜像存储,响应镜像文件上传及下载操作,但 是在访问过程中会进行访问权限控制,用户每次执行docker pull/push 请求都要携带一个合 法的 token。 为了增强安全性, Registry会通过公钥对 token进行解密验证,解密通过后才 能进行相应的操作。
(3)Core Services
Core Services 是 Harbor的核心服务,主要包括如下功能:
■ UI: 图形化界面,根据用户的授权采用可视化方式管理镜像仓库中的各个镜像 (image) 文件。
token服务:根据用户权限给每个镜像操作请求生成token。Docker客户端向 Registry服务发起的请求如果不包含token会被重定向到这个 token服务,获得 token后再重新向Registry进行请求,这个token是后续操作的唯一合法身份,直到 token 超时或用户退出当前会话。
webhook: 主要用来实时监控Registry中镜像文件的状态变化。在Registry上配置 webhook, 通过 webhook 把 image 状态变化传递给UI 模块。
(4)Database
为核心服务提供数据库存储及访问能力,负责存储用户权限、审计日志、 Docker image 分组信息等数据。
(5)Log Collector
负责收集其他组件运行过程中产生的日志,监控Harbor运行状况,以便后续进行运行 状况分析。
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们 18664393530@aliyun.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~