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

简介: 计算巢服务是阿里云开放给企业应用服务商与其客户的服务管理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小游戏。
相关文章
|
1月前
|
机器学习/深度学习 安全 大数据
揭秘!企业级大模型如何安全高效私有化部署?全面解析最佳实践,助你打造智能业务新引擎!
【10月更文挑战第24天】本文详细探讨了企业级大模型私有化部署的最佳实践,涵盖数据隐私与安全、定制化配置、部署流程、性能优化及安全措施。通过私有化部署,企业能够完全控制数据,确保敏感信息的安全,同时根据自身需求进行优化,提升计算性能和处理效率。示例代码展示了如何利用Python和TensorFlow进行文本分类任务的模型训练。
92 6
|
2月前
|
存储 算法 Java
解析HashSet的工作原理,揭示Set如何利用哈希算法和equals()方法确保元素唯一性,并通过示例代码展示了其“无重复”特性的具体应用
在Java中,Set接口以其独特的“无重复”特性脱颖而出。本文通过解析HashSet的工作原理,揭示Set如何利用哈希算法和equals()方法确保元素唯一性,并通过示例代码展示了其“无重复”特性的具体应用。
50 3
|
2月前
|
C++
【C++】深入解析C/C++内存管理:new与delete的使用及原理(二)
【C++】深入解析C/C++内存管理:new与delete的使用及原理
|
2月前
|
编译器 C++ 开发者
【C++】深入解析C/C++内存管理:new与delete的使用及原理(三)
【C++】深入解析C/C++内存管理:new与delete的使用及原理
|
1月前
|
监控 Cloud Native 持续交付
云原生技术深度解析:重塑现代应用开发与部署范式####
本文深入探讨了云原生技术的核心概念、关键技术组件及其在现代软件开发中的重要性。通过剖析容器化、微服务架构、持续集成/持续部署(CI/CD)等关键技术,本文旨在揭示云原生技术如何促进应用的敏捷性、可扩展性和高可用性,进而推动企业数字化转型进程。不同于传统摘要仅概述内容要点,本部分将融入具体案例分析,直观展示云原生技术在实际应用中的显著成效与挑战应对策略,为读者提供更加丰富、立体的理解视角。 ####
|
1月前
|
算法 Java 数据库连接
Java连接池技术,从基础概念出发,解析了连接池的工作原理及其重要性
本文详细介绍了Java连接池技术,从基础概念出发,解析了连接池的工作原理及其重要性。连接池通过复用数据库连接,显著提升了应用的性能和稳定性。文章还展示了使用HikariCP连接池的示例代码,帮助读者更好地理解和应用这一技术。
46 1
|
16天前
|
JavaScript 前端开发 API
Vue.js响应式原理深度解析:从Vue 2到Vue 3的演进
Vue.js响应式原理深度解析:从Vue 2到Vue 3的演进
45 0
|
2月前
|
数据采集 存储 编解码
一份简明的 Base64 原理解析
Base64 编码器的原理,其实很简单,花一点点时间学会它,你就又消除了一个知识盲点。
75 3
|
22天前
|
API 持续交付 网络架构
深入解析微服务架构:原理、优势与实践
深入解析微服务架构:原理、优势与实践
22 0
|
23天前
|
存储 供应链 物联网
深入解析区块链技术的核心原理与应用前景
深入解析区块链技术的核心原理与应用前景

相关产品

  • 计算巢服务
  • 推荐镜像

    更多