深度解析计算巢镜像部署物复制与关联原理

简介: 计算巢服务是阿里云开放给企业应用服务商与其客户的服务管理PaaS平台。服务商在计算巢创建服务(可理解为云资源、软件编排后的集合)并发布上线后,用户便可通过此服务创建服务实例(基于计算巢服务创建的服务实体)以获取具体服务内容。通过镜像部署是一种常见的部署方式。在计算巢中,需要在部署物管理中创建Ecs镜像部署物、分发部署物,然后在创建服务时关联镜像部署物,即可实现用户在创建服务实例时依据不同地域,自动部署对应地域的Ecs镜像。本文旨在说明ECS部署物的复制原理与创建服务实例时的关联原理。

计算巢简介

计算巢服务是阿里云开放给企业应用服务商与其客户的服务管理PaaS平台。服务商在计算巢创建服务(可理解为云资源、软件编排后的集合)并发布上线后,用户便可通过此服务创建服务实例(基于计算巢服务创建的服务实体)以获取具体服务内容,即商家创建服务,用户通过商家发布的服务创建服务实例。

通过镜像部署是一种常见的部署方式。在计算巢中,需要在部署物管理中创建Ecs镜像部署物、分发部署物,然后在创建服务时关联镜像部署物,即可实现用户在创建服务实例时依据不同地域,自动部署对应地域的Ecs镜像。本文旨在说明ECS部署物的复制原理与创建服务实例时的关联原理。

ECS镜像部署物复制原理

页面介绍

如下图,为服务商创建部署物时的页面。

红色方框处选择镜像,当镜像类型为自定义镜像时,选择服务商账号中的自定义镜像;当镜像类型为云市场镜像时,选择云市场售卖的镜像。下方设置分发,为服务商所需镜像最终需要分发的目标地域,自定义镜像可以任意指定目标地域,云市场镜像指定地域需要与云市场可售卖的地域相同,即若云市场镜像售卖地域为北京、杭州,则指定上海地域将报错。

原理

服务商设置好地域后确认无误,即可点击分发部署物,此时,计算巢执行:

自定义镜像

  1. 共享服务商选择的自定义镜像给计算巢官方账号;
    1. 计算巢官方账号将共享镜像复制为自定义镜像;
    2. 计算巢官方账号将自定义镜像复制至部署物中设置分发的地域;
    3. 等待复制完成;
    4. 设置权限等信息。
    5. 存储镜像ID,格式为 地域-镜像ID。

云市场镜像

  1. 获取服务商选择的云市场镜像信息;
    1. 调用云市场接口查询分发地域的镜像ID;
    2. 存储镜像ID,格式为 地域-镜像ID 。

针对自定义镜像,复制镜像完成后,服务商账号中并没有分发后的镜像,究其原因是因为复制后不同地域的镜像存在在计算巢官方账号中。如此做的目的为:

  1. 个人账户镜像可能存在收费问题,计算巢官方账号统一管理规避费用问题;
  2. 个人账户复制存在镜像数量、大小的限额,计算巢账号统一管理规避此问题;
  3. 镜像权限管理由计算巢管理,防止服务商不会用导致漏权等问题。

针对云市场镜像,由于其已分发完毕,因此计算巢仅仅调用接口查阅具体地域-镜像ID关系并保存。

综上所述,本质上Ecs镜像部署物存储的是地域-镜像的映射关系。

计算巢镜像关联原理

具体使用方法参考文章:参考文章,本文只阐述原理。

原理

服务商设置镜像关联,本质上是将模板中的镜像ID(ImageId)和某一部署物做映射,计算巢通过此映射替换镜像ID为部署物中对应地域的镜像ID。用户部署时,需要选择具体的地域,计算巢在部署时执行:

  1. 解析模板版中存在的ImageId位置,查询其关联的Ecs镜像部署物;
  2. 获取服务实例部署地域,查询关联Ecs镜像部署物在该地域下分发的Ecs镜像ID;
  3. 将模板中的ImageID替换为部署物中的ImageId。

具体举例如下: ​​ 创建服务时模板中:

服务部署物关联:

部署物分发结果:

实际部署时,用户部署在北京地域,用户侧镜像ID处:

可见在部署时,计算巢替换了模板中的的镜像ID为部署物分发之后对应地域的镜像ID。因此,用户可以通过此镜像ID创建云资源。

综上所述,当服务商设置镜像关联后,计算巢便可通过此关联关系找到对应的Ecs镜像部署物,进而在用户部署时通过判断用户部署地域,从部署物中获取对应地域的镜像来创建云资源。镜像关联的优势在于自动替换镜像ID,否则服务商需要在模板中人工编写地域-镜像映射Mapping,这是一项繁琐而耗时的工作。

相关实践学习
2048小游戏
基于计算巢&ECS云服务器快速部署,带您畅玩2048小游戏。
相关文章
|
3天前
|
存储 缓存 Java
什么是线程池?从底层源码入手,深度解析线程池的工作原理
本文从底层源码入手,深度解析ThreadPoolExecutor底层源码,包括其核心字段、内部类和重要方法,另外对Executors工具类下的四种自带线程池源码进行解释。 阅读本文后,可以对线程池的工作原理、七大参数、生命周期、拒绝策略等内容拥有更深入的认识。
什么是线程池?从底层源码入手,深度解析线程池的工作原理
|
14天前
|
网络协议 网络安全
基于bind软件部署DNS服务器
关于如何使用bind软件部署DNS服务器的教程,包括DNS服务器的类型、基于bind软件的部署步骤、验证DNS服务器可用性的指导,以及如何进行DNS正向解析的实现。
17 2
基于bind软件部署DNS服务器
|
20天前
|
vr&ar
简单易懂的 全景图高清下载方法以及原理简要解析(支持下载建E、720yun、酷雷曼、景站、酷家乐、百度街景原图)
这篇文章介绍了一种简单易懂的全景图高清下载方法,使用在线网站全景管家,支持下载包括建E、720yun、酷雷曼等多个平台的全景图原图,并简要解析了全景图的原理和制作方法。
简单易懂的 全景图高清下载方法以及原理简要解析(支持下载建E、720yun、酷雷曼、景站、酷家乐、百度街景原图)
|
14天前
|
域名解析 网络协议
DNS服务工作原理
文章详细介绍了DNS服务的工作原理,包括FQDN的概念、名称解析过程、DNS域名分级策略、根服务器的作用、DNS解析流程中的递归查询和迭代查询,以及为何有时基于IP能访问而基于域名不能访问的原因。
30 2
|
23天前
|
JavaScript 前端开发 安全
JS 混淆解析:JS 压缩混淆原理、OB 混淆特性、OB 混淆JS、混淆突破实战
JS 混淆解析:JS 压缩混淆原理、OB 混淆特性、OB 混淆JS、混淆突破实战
26 2
|
23天前
|
缓存 前端开发 JavaScript
Webpack 模块解析:打包原理、构造形式、扣代码补参数和全局导出
Webpack 模块解析:打包原理、构造形式、扣代码补参数和全局导出
21 1
|
25天前
|
设计模式 JavaScript 前端开发
Vue响应式原理全解析
Vue的响应式系统是其核心特性之一,它使得Vue能够以高效的方式响应数据的变化。通过对对象属性的getter和setter进行劫持,Vue实现了对数据变化的侦测和依赖收集,当数据变化时能够自动派发更新。Vue3中,响应式系统得到了进一步的加强和优化,使用Proxy替代了 `Object.defineProperty`,带来了更好的性能和更强大的拦截能力。理解Vue的响应式原理,对于深入理解Vue的工作机制和进行高效的Vue开发都具有重要意义。
34 1
|
29天前
|
缓存 监控 网络协议
DNS缓存中毒原理
【8月更文挑战第17天】
62 1
|
11天前
|
负载均衡 网络协议 安全
DNS解析中的Anycast技术:原理与优势
【9月更文挑战第7天】在互联网体系中,域名系统(DNS)将域名转换为IP地址,但网络规模的扩张使DNS解析面临高效、稳定与安全挑战。Anycast技术应运而生,通过将同一IP地址分配给多个地理分布的服务器,并依据网络状况自动选择最近且负载低的服务器响应查询请求,提升了DNS解析速度与效率,实现负载均衡,缓解DDoS攻击,增强系统高可用性。此技术利用动态路由协议如BGP实现,未来在网络发展中将扮演重要角色。
35 0
|
17天前
|
开发者 图形学 iOS开发
掌握Unity的跨平台部署与发布秘籍,让你的游戏作品在多个平台上大放异彩——从基础设置到高级优化,深入解析一站式游戏开发解决方案的每一个细节,带你领略高效发布流程的魅力所在
【8月更文挑战第31天】跨平台游戏开发是当今游戏产业的热点,尤其在移动设备普及的背景下更为重要。作为领先的游戏开发引擎,Unity以其卓越的跨平台支持能力脱颖而出,能够将游戏轻松部署至iOS、Android、PC、Mac、Web及游戏主机等多个平台。本文通过杂文形式探讨Unity在各平台的部署与发布策略,并提供具体实例,涵盖项目设置、性能优化、打包流程及发布前准备等关键环节,助力开发者充分利用Unity的强大功能,实现多平台游戏开发。
41 0

相关产品

  • 计算巢服务
  • 推荐镜像

    更多