通过编写模板创建弹性云服务器
本教程指导您通过“编写模板”创建弹性云服务器(包括虚拟私有云和子网)。弹性云服务器(Elastic Cloud Server,简称ECS)是由CPU、内存、镜像、云硬盘组成的一种可随时获取、弹性可扩展的计算云服务器。虚拟私有云可以为您的弹性云服务器构建隔离的、用户自主配置和管理的虚拟网络环境。创建虚拟私有云时可以同时创建一个或多个子网。
本教程以“编写模板”为例介绍创建模板的方法。关于模板的更多信息请参阅模板参考。
在此入门中,您将完成以下步骤:
- 步骤一:编写模板:用yaml语言编写创建弹性云服务器、虚拟私有云和子网的模板。
- 步骤二:创建弹性云服务器:使用模板创建弹性云服务器、虚拟私有云和子网。
- 步骤三:清除资源:为了防止您为不需要的服务付费,建议您删除堆栈,清理资源。
步骤一:编写模板
- 首先编写一个简单的模板创建虚拟私有云:
tosca_definitions_version: huaweicloud_tosca_version_1_0 #模板的版本信息 node_templates: #元素对象定义 myvpc: #虚拟私有云 type: HuaweiCloud.VPC.VPC properties: name: my-vpc #虚拟私有云的名称 cidr: '192.168.0.0/16' #虚拟私有云的网段
模板主要包括如下几部分:
- tosca_definitions_version:用于标识模板的版本信息。当前AOS支持的版本为huaweicloud_tosca_version_1_0。
- node_templates:用于定义该模板中编排的元素对象集合,其中所有对象均为元素(可以是一个应用、一个云服务资源)。上述模板中node_templates定义了一个虚拟私有云myvpc。
- type:用于指定编排对象的具体类型,来自元素类型列表,可设置为HuaweiCloud.***(***为资源索引中元素名)。上述模板中定义的虚拟私有云myvpc为HuaweiCloud.VPC.VPC类型。
- properties:用于定义元素属性,不同的元素类型会有不同的属性。上述模板中虚拟私有云myvpc具有两个属性name和cidr,分别表示虚拟私有云的名称和虚拟私有云的网段,更多信息请参阅虚拟私有云VPC。
- VPC网段范围比较大,可以在VPC中定义一个子网,子网是VPC的IP地址范围内的一个区段。基于上个模板在创建的VPC中定义一个子网:
tosca_definitions_version: huaweicloud_tosca_version_1_0 #模板的版本信息 node_templates: #元素对象定义 myvpc: #虚拟私有云 type: HuaweiCloud.VPC.VPC properties: name: my-vpc #虚拟私有云的名称 cidr: '192.168.0.0/16' #虚拟私有云的网段 mysubnet: #子网 type: HuaweiCloud.VPC.Subnet properties: name: my-subnet #子网的名称 cidr: '192.168.1.0/24' #子网的网段 gateway: 192.168.1.1 #子网的网关 vpcId: #子网所属VPC的ID get_reference: myvpc dhcpEnable: true #是否为该VPC的子网开启DHCP功能 requirements: #定义子网与VPC的依赖关系 - vpcId: node: myvpc
requirements为元素依赖,用于设置为与该元素存在依赖关系的其他元素名称。例如子网依赖VPC,模板中在子网的requirements中定义依赖的node为myvpc。
- 在模板中定义弹性云服务器:
tosca_definitions_version: huaweicloud_tosca_version_1_0 #模板的版本信息 node_templates: #元素对象定义 myvpc: #虚拟私有云 type: HuaweiCloud.VPC.VPC properties: name: my-vpc #虚拟私有云的名称 cidr: '192.168.0.0/16' #虚拟私有云的网段 mysubnet: #子网 type: HuaweiCloud.VPC.Subnet properties: name: my-subnet #子网的名称 cidr: '192.168.1.0/24' #子网的网段 gateway: 192.168.1.1 #子网的网关 vpcId: #子网所属VPC的ID get_reference: myvpc dhcpEnable: true #是否为该VPC的子网开启DHCP功能 requirements: #定义子网与VPC的依赖关系 - vpcId: node: myvpc myecs: #弹性云服务器 type: HuaweiCloud.ECS.CloudServer properties: name: my-ecs #云服务器名称 instances: 1 #创建云服务器数量 imageId: 7be2e72e-0679-4a1b-8faf-0c1865708b20 #云服务器使用的镜像ID,本模板中设置为ECS系统盘镜像CentOS 7.4 64bit的镜像ID flavor: c2.large #云服务器的规格 vpcId: #云服务器所属VPC的ID,支持使用已有或新建虚拟私有云ID get_reference: myvpc #用于获取相关联的元素的动态属性值 availabilityZone: cn-south-1a #云服务器对应可用区信息,本模板中使用的是华南-广州区域的一个可用区 nics: #云服务器对应的网卡信息 - subnetId: get_reference: mysubnet rootVolume: #云服务器对应系统盘相关配置 volumeType: SATA #普通IO磁盘类型 size: 40 #系统盘大小,容量单位为GB requirements: #定义弹性云服务器和VPC、子网的依赖关系 - vpcId: node: myvpc - nics.subnetId: node: mysubnet
- 将模板保存为本地文件myecs.yaml。
- 登录AOS控制台。
模板中云服务器的镜像ID和可用区使用的是华南-广州区域的CentOS 6.3 64bit的镜像ID和cn-south-1a分区,因此登录控制台时请选择华南-广州区域,否则会导致堆栈创建失败。
- 选择左侧导航栏的“我的模板”,单击“创建模板”。
- 选择“上传本地模板”,上传本地yaml文件,单击“创建”,系统自动跳转到模板详情页面,可查看到当前模板信息。
- 模板名称:自定义模板名称,需确保全局唯一,例如设置为myecs。
- 版本:设置为1.0。
- 选择文件:上传本地文件myecs.yaml。
图2 上传本地模板
步骤二:创建弹性云服务器
- 登录AOS控制台。
- 在左侧导航栏中,选择“我的模板”。在模板列表中可查看到保存成功的模板myecs。
- 单击myecs模板后的“创建堆栈”。
- 设置堆栈信息。
- 堆栈名称:输入堆栈名称,例如aos-ecs,需确保该值唯一。
- 描述:可不填写。
- 单击“下一步”,查看堆栈信息,确认无误后,单击“创建堆栈”。
系统自动跳转到堆栈详情页面,可查看到当前堆栈为创建中。此处创建了虚拟私有云VPC、子网Subnet以及一台弹性云服务器ECS。预计需要6分钟左右创建成功。
- 待堆栈状态为“正常”时,可查看到堆栈元素中已有三个云服务。虚拟私有云、子网和弹性云服务器已创建成功。
图3 堆栈已创建成功
- 查看已创建的云服务。
- 登录华为云控制台。
- 选择“计算 > 弹性云服务器”,可查看到已创建成功一台ECS。
图4 ECS已创建成功
- 选择“网络 > 虚拟私有云”,可查看到已创建成功的VPC。
图5 VPC已创建成功
- 单击该VPC名称,进入详情页面,可查看到对应的子网已创建成功。
图6 子网已创建成功