资源编排Instance Clone 实现详解

本文涉及的产品
资源编排,不限时长
简介: 资源编排在Clone ECS实例的时候主要做了什么。

对于一台阿里云的ECS实例来说,主要由下面的几组属性组成:

  • 实例规格

    • 实例规格为对应着CPU和内存,是否为IO优化的实例,如果为IO优化实例则磁盘类型需要为cloud_efficiency高效云盘, cloud_ssd ssd云盘。
  • 网络配置

    • 经典网络,同时包含出网带宽的设置。
    • 专有网络,需要包括vpc配置和vswitch的配置信息,
  • 磁盘配置,分为系统盘和数据盘。每个磁盘对应下面的属性

    • 镜像信息,仅仅对系统盘有效,将需要从某个镜像创建,可以是系统镜像也可以是自定义镜像。目前阿里云的系统盘大小为40GB到500GB。可以按需指定。
    • 快照信息,仅仅对数据盘有效,如果一块盘从一个快照创建,则指定的磁盘size必须大于等于snapshot的size。
    • 磁盘种类,常见的包括cloud云盘, cloud_efficiency高效云盘, cloud_ssd ssd云盘
    • 磁盘描述信息
    • 磁盘名称
    • 挂载点
    • 对于数据盘,是否随实例删除
    • 磁盘大小
  • 安全组设置,一台虚拟机创建的时候必须至少属于一个安全组。在创建之后可以最多属于5个安全组。
  • 实例的基本信息包括名称、描述、Tag标签设置
  • UserData属性

    • 支持UserData的实例才有这个属性。

资源编排在克隆资源的时候,默认情况下会克隆上面的所有属性。有以下说明:

  • 资源编排默认使用的镜像是创建源镜像的镜像ID,不是给源资源创建了新的镜像并且使用镜像。
  • 资源编排默认创建的数据盘也是源实例生成的时候使用的数据盘(空白或者某个快照,例如快照是2016-06-06创建的,在2016-07-07Clone的时候,仍然是当时的快照)。
  • 在执行克隆的过程中,会先一个源Instance的第一个安全组来创建ECS实例,当机器创建出来并设置为Running状态的时候,如果源实例中含有多个安全组,将会把新生成的Instance加入到其它的安全中。

之所以不是全部的克隆主要的原因是创建快照的时间可能会非常长,导致整个堆栈创建失败。

为了方便扩展扩展在Clone的时候您也可以自己指定如下属性做定制。

  • SecurityGroupId 安全组,如果指定则仅仅使用者一个安全组。不会在clone源实例上已有的安全组。
  • ImageId 镜像Id,您可以通过在控制台创建自定义镜像来完成。这样Clone的时候可以使用心得Image
  • 实例的基本信息包括名称、描述、Tag标签设置。包括InstanceName、Description。
  • 实例所在的可用区 ZoneId
  • 使用自定义的数据盘信息类似创建Ecs实例。DiskMappings如下,创建一块100GB的类型为cloud的数据盘,使用快照s-1234567890
        "DiskMappings": [
            {"Size": 100, "Category": "cloud", "SnapshotId": "s-1234567890"}
        ]

下面是一套使用克隆的模板, clone的时候自定义了镜像id和使用了额外的两块数据盘,一块从快照创建,一块空白盘:

{
  "ROSTemplateFormatVersion" : "2015-09-01",
  "Resources" : {
    "WebServer": {
      "Type": "ALIYUN::ECS::InstanceGroupClone",
      "Properties": {
        "SourceInstanceId": "i-your_instance",
        "Password": "YourPassword1234",
        "MinAmount": 1,
        "MaxAmount": 1,
        "ImageId": "centos7u2_64_40G_cloudinit_20160520.raw",
        "DiskMappings": [
            {"Size": 100, "Category": "cloud", "SnapshotId": "s-123456789"},
            {"Size": 100, "Category": "cloud", "Description": "Another 100 GB Disk"}
        ]
      }
    }
  },
  "Outputs": {
    "InstanceId": {
         "Value" : {"Fn::GetAtt": ["WebServer","InstanceIds"]}
    },
    "PublicIp": {
         "Value" : {"Fn::GetAtt": ["WebServer","PublicIps"]}
    }
  }
}
相关实践学习
使用ROS创建VPC和VSwitch
本场景主要介绍如何利用阿里云资源编排服务,定义资源编排模板,实现自动化创建阿里云专有网络和交换机。
阿里云资源编排ROS使用教程
资源编排(Resource Orchestration)是一种简单易用的云计算资源管理和自动化运维服务。用户通过模板描述多个云计算资源的依赖关系、配置等,并自动完成所有资源的创建和配置,以达到自动化部署、运维等目的。编排模板同时也是一种标准化的资源和应用交付方式,并且可以随时编辑修改,使基础设施即代码(Infrastructure as Code)成为可能。 产品详情:https://www.aliyun.com/product/ros/
目录
相关文章
|
1月前
|
Ubuntu 机器人 Linux
|
8天前
|
XML 算法 自动驾驶
ROS进阶:使用URDF和Xacro构建差速轮式机器人模型
【11月更文挑战第7天】本篇文章介绍的是ROS高效进阶内容,使用URDF 语言(xml格式)做一个差速轮式机器人模型,并使用URDF的增强版xacro,对机器人模型文件进行二次优化。
|
13天前
|
自动驾驶 安全 机器人
ROS2:从初识到深入,探索机器人操作系统的进化之路
【11月更文挑战第4天】ROS2的学习过程和应用,介绍DDS系统的框架和知识。
|
6月前
|
传感器 人工智能 算法
ROS机器人操作系统
ROS机器人操作系统
175 1
|
1月前
|
传感器 数据可视化 机器人
【ROS速成】半小时入门机器人ROS系统简明教程之可视化系统(三)
半小时入门机器人ROS系统简明教程之可视化系统
|
1月前
|
机器人
【ROS速成】半小时入门机器人ROS系统简明教程之安装测速(二)
半小时入门机器人ROS系统简明教程之安装测速
|
5月前
|
机器学习/深度学习 传感器 算法
强化学习(RL)在机器人领域的应用,尤其是结合ROS(Robot Operating System)和Gazebo(机器人仿真环境)
强化学习(RL)在机器人领域的应用,尤其是结合ROS(Robot Operating System)和Gazebo(机器人仿真环境)
230 2
|
5月前
|
机器人 定位技术 C++
技术笔记:ROS中测试机器人里程计信息
技术笔记:ROS中测试机器人里程计信息
|
6月前
|
NoSQL 机器人 Windows
ROS机器人编程技术控制两只小海龟的编队运动
ROS机器人编程技术控制两只小海龟的编队运动
229 1
|
6月前
|
机器人 Python Windows
ROS机器人编程技术应用与实践
ROS机器人编程技术应用与实践
83 1

推荐镜像

更多