互联网服务镜像仓库

对于镜像仓库,是使用harbor进行高可用设计吗?又如何能实现镜像的快速分发呢?

参与10

2同行回答

顾黄亮顾黄亮课题专家组技术总监畅销书作者
翻译一下吧,应该想表达的是:如何利用harbor组建支持P2P的镜像服务。对于harbor高可用设计,这方面已经非常成熟了,课程中也讲的很通透,但是对于快速分发,目前p2p的技术非常流行,简单介绍一下。 镜像分发原理当用户通过Admin Console向DID系统提交一个镜像分发任务(Job)之后,控制器...显示全部

翻译一下吧,应该想表达的是:如何利用harbor组建支持P2P的镜像服务。
对于harbor高可用设计,这方面已经非常成熟了,课程中也讲的很通透,但是对于快速分发,目前p2p的技术非常流行,简单介绍一下。
镜像分发原理
当用户通过Admin Console向DID系统提交一个镜像分发任务(Job)之后,控制器会进行以下处理:
❶ 通过本地的Docker Daemon REST API从Registry下载镜像到本地镜像仓库;
❷ 调用Docker Daemon API从镜像仓库导出(export)镜像文件(镜像tar文件);
❸ 从镜像tar文件中抽取出组成镜像的所有layer并进行压缩;
❹ 为每一个压缩后的layer制作BT种子文件;
❺ 启动BT客户端载入所有压缩后的layer和相应的种子文件,此时控制器所在节点的BT客户端将成为一个Seeder;
❻ 向各个客户端代理发送该镜像的下载任务。任务说明中包含了组成该镜像的所有layer的ID和其对应的种子文件的URL。
在客户端代理接收到来自控制器的镜像下载任务后会进行以下处理:
❶ 针对该镜像的每一个layer,通过调用检查其在本地是否已存在,把不存在的layer ID加入到待下载列表中;
❷ 对下载列表中的layer,下载对应的种子文件,并启动BT客户端完成layer文件的下载;
❸ 通过Docker daemon的API将下载完成的layer文件导入到Docker daemon中;
❹ 重复步骤2和步骤3直到所有待下载layer全部被导入到Docker daemon中。注:每个layer的下载过程是并发执行的。

收起
银行 · 2020-09-01
浏览632
mtming333mtming333课题专家组系统架构师某电子支付
遇事不决艾付五,快速分发匹吐匹显示全部

遇事不决艾付五,快速分发匹吐匹

收起
互联网服务 · 2020-09-01
浏览565

提问者

风月笑贫僧
云平台工程师未来科技有限公司
擅长领域: 云计算容器容器云

问题来自

相关问题

问题状态

  • 发布时间:2020-08-31
  • 关注会员:3 人
  • 问题浏览:1253
  • 最近回答:2020-09-01
  • X社区推广