文档首页> > 快速入门> 通过模板创建资源(使用Heat客户端)

通过模板创建资源(使用Heat客户端)

分享
更新时间: 2019/06/04 09:26

Heat客户端安装并配置完成后,您可以使用Heat客户端创建一台云服务器。

在此入门中,您将完成以下步骤:

  1. 编写模板:模板是一组资源的集合,是资源编排的蓝图。在创建资源前,需要按照语法编写模板。
  2. 创建资源:通过heat命令创建云服务器资源栈。
  3. 查看资源:通过heat命令查看所有资源栈,以及指定资源栈的详情。
  4. 删除资源:如果不再使用某个资源,可以使用heat命令删除资源栈。

编写模板

创建一个模板文件,内容如下,命名为“server_instance.yaml”。

heat_template_version: 2014-10-16
description: Create a simple ECS instance.
parameters:
  name:
    type: string
    description: Specifies the ECS name.
  image: 
    type: string 
    description: Specifies the image used for creating ECS. The value can be the name or ID of the image.
  flavor: 
    type: string 
    description: Specifies the flavor used for creating ECS.
  key: 
    type: string 
    description: Specifies the key pair used for creating ECS. The value can be the name of the key pair. 
  network_id: 
    type: string 
    description: Specifies the network used for creating ECS. The value can be the name or ID of the network.
  availability_zone:
    type: string
    description: Specifies the name of the AZ to which the ECS belong.

resources:
  nova_serer:
    type: OS::Nova::Server
    properties:
      name: { get_param: name }
      image: { get_param: image } 
      flavor: { get_param: flavor } 
      key_name: { get_param: key } 
      networks: 
        - network: { get_param: network_id }
      availability_zone: { get_param: availability_zone } 

这个YAML文本包含四个顶级字段:

  • heat_template_version:定义模板版本。该字段为必填。
  • description:定义模板的解释说明。该字段为可选。
  • parameters:定义模板的一些参数,本例中定义了ECS名称、镜像名称或ID、密钥对、规格、VPC网络、可用分区,这些参数可以通过resources中的“get_param”内部函数引用。
  • resources:定义这个模板所创建的资源,本例中申明将要创建一个ECS实例。其中“type”字段定义了资源类型,“properties”字段中的参数需要在创建资源时传入,具体内容请参见创建资源

创建资源

在Heat客户端,执行以下命令创建一个资源栈:

heat stack-create -f server_instance.yaml -P 'name=ecs_name;image=Redhat-6.9;flavor=m1.medium;key=keypair_name;network_id=external-network3;availability_zone=az_name' ecsStack

其中,

  • server_instance.yaml:模板文件的名称。
  • ecsStack:待创建资源栈的名称。您可以自定义。
  • 其他变量为模板中所定义的参数的取值。

查看资源

执行如下操作检查资源栈是否创建成功:
  • 运行下述命令查询所有堆栈,并检查是否包括新建堆栈:

    heat stack-list

  • (可选)运行下述命令查看新建资源栈的详情:

    heat stack-show ecsStack

删除资源

如果您不再需要某一资源栈,运行以下命令进行删除:

heat stack-delete ecsStack

如果您喜欢这篇文档,您还可以:

文档是否有解决您的问题?

提交成功!

非常感谢您的反馈,我们会继续努力做到更好!

反馈提交失败,请稍后再试!

*必选

请至少选择或填写一项反馈信息

字符长度不能超过200

提交反馈 取消

如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨

跳转到云社区