Openstack HEAT:通过HEAT模板将新实例手动添加到现有堆栈

时间:2018-10-25 11:16:44

标签: openstack scaling heat

我已经使用<Button ToolTip="My doodad"> <svgc:SvgViewbox IsHitTestVisible="False" Height="16" Width="16" Margin="2" Source="pack://application:,,,/Resources/svg/mydoodad.svg" /> </Button> 命令通过HEAT模板创建了一个开放堆栈。如果我想通过HEAT模板手动将新实例添加到同一堆栈中,理想的方法是什么?

我知道openstack stack create命令存在,但是更新当前堆栈中的资源,而不是添加额外的实例,不是吗?还是堆栈更新是扩大规模的唯一方法?

1 个答案:

答案 0 :(得分:2)

  

我知道存在openstack stack update命令,但是它更多的是更新当前堆栈中的资源,而不是添加额外的实例,对吗?还是堆栈更新是扩大规模的唯一方法?

向外扩展堆栈取决于模板的外观以及如何通过堆栈参数公开实例计数以及所使用的资源类型。下面是使用OS :: Heat :: ResourceGroup的示例,但是如果您在堆栈中使用ASG或Senlin资源,则方法可能会有所不同(例如,您可以直接将Senlin API指向规模)

updated

使用这些资源和参数创建堆栈将使您可以执行以下操作:

parameters:
  node_count:
    type: number
    default: 2
    description: number of nodes
resources:
  my_group:
    type::OS::Heat::ResourceGroup
    properties:
      count: {get_param: node_count}
      resource_def:
        type: OS::Nova::Server
        properties:
          name: my-instance-%index%
          flavor: my-flavor
          image: my-image
          networks:
            --network: my-network

-existing将使用现有模板(允许更新而无需再次提供模板) --parameter以堆栈的公开参数之一为目标,在这种情况下,为node_count

这将使用具有正在更新的参数的资源组的属性来构建新节点,该节点与ResourceGroup所构建的其他节点相同

希望有帮助!

编辑:将正确的类型(OS :: Nova :: Server)添加到resource_def