通过本文您可以了解嵌套资源栈的结构、最佳实践、常见模板、更新行为和输出值,并了解查看嵌套资源栈及其所属的父资源栈的操作方法。

嵌套资源栈是作为其他资源栈的一部分来创建的资源栈。您可以在另一个资源栈中使用ALIYUN::ROS::Stack资源创建嵌套资源栈。

随着基础设施的发展,常见模式可合并,以便在多个模板中声明相同的组件。您可以分离这些常见组件并为其创建专用模板。然后使用模板中的资源来引用其他模板,也就是创建嵌套资源栈。

例如,您有用于大多数资源栈的负载均衡器配置。您可以为负载均衡器创建专用模板,而不是将相同的配置复制并粘贴到您的模板中。您只需使用资源从其他模板中引用该模板。

嵌套资源栈的结构

嵌套资源栈本身可以包含其他嵌套资源栈,构成一个资源栈层次结构,如下图所示。根资源栈是所有嵌套资源栈最终归属的父资源栈。此外,每个嵌套资源栈都有一个直属父资源栈。对于第一级的嵌套资源栈而言,根资源栈也是父资源栈。

  • 资源栈A是该层次结构中所有其他嵌套资源栈的根资源栈。
  • 对于资源栈B来说,资源栈A既是父资源栈,也是根资源栈。
  • 对于资源栈D,资源栈C是父资源栈;而对于资源栈C来说,资源栈B是父资源栈。
嵌套资源栈

使用嵌套资源栈来声明常见组件被视为最佳做法。

某些资源栈操作(如资源栈更新等)应从根资源栈启动,而不是直接在嵌套资源栈上执行。此外,在某些情况下,嵌套资源栈会影响资源栈操作的执行。

最佳实践

资源编排之嵌套资源栈

使用嵌套资源栈来重复使用常见模板

随着您的基础设施的发展,常见模板模式可合并以便声明每个模板中的相同组件。您可以分离这些常见组件并为其创建专用模板。这样一来,您可以混合和匹配不同的模板,但使用嵌套资源栈来创建单个统一资源栈。嵌套资源栈是可创建其他资源栈的资源栈。要创建嵌套资源栈,可使用您的模板中的ALIYUN::ROS::Stack 资源来引用其他模板。

例如,您有用于大多数资源栈的负载均衡器配置。您可以为负载均衡器创建专用模板,而不是将相同的配置复制并粘贴到您的模板中。然后,您只需使用ALIYUN::ROS::Stack资源从其他模板中引用该模板。如果更新负载均衡器模板,引用该模板的任何资源栈将使用更新过的负载均衡器(仅当您更新该资源栈后)。除了简化更新之外,该方法还允许您使用专家来创建和维护您不熟悉的组件。您只需引用其模板即可。

嵌套资源栈资源的更新行为

如果模板包括一个或多个嵌套资源栈,则ROS也会为每个嵌套资源栈启动更新。这对于确定嵌套资源栈是否已修改是必要的。ROS只更新嵌套资源栈中那些在相应模板中指定了更改的资源。

使用嵌套资源栈的输出值

嵌套资源栈是您使用ALIYUN::ROS::Stack资源在其他资源栈中创建的资源栈。利用嵌套资源栈,您可从一个资源栈部署和管理所有资源。您可将来自嵌套资源栈组中的一个资源栈的输出用作该组中的另一个资源栈的输入。

查看属于父资源栈的嵌套资源栈

  1. 登录资源编排控制台
  2. 在左侧导航栏选择资源栈
  3. 资源栈列表页面,单击要查看其嵌套资源栈的父资源栈的名称。
    说明 如果父资源栈也是嵌套资源栈,需要勾选显示嵌套资源栈
  4. 单击资源页签。

    查找类型为ALIYUN::ROS::Stack的资源。

查看嵌套资源栈的父资源栈

  1. 登录资源编排控制台
  2. 在左侧导航栏选择资源栈
  3. 资源栈列表页面,勾选显示嵌套资源栈,查看资源栈列表。
  4. 单击要查看其父资源栈的嵌套资源栈的名称。
  5. 单击资源栈信息,查看父资源栈ID