资源编排ROS之模块:实现模板代码复用(基础篇)

简介: ROS是阿里云的资源管理服务,通过模板定义和编排引擎自动化部署云资源。模块是可预测、重用、追溯和管理的资源集合,分为公共和自定义类型。它们简化了复杂配置,如安全组,可在多个模板和账号中复用。创建模块后,可在资源栈中引用,实现标准化部署。

背景

资源编排服务(Resource Orchestration Service, 简称ROS)是阿里云提供的一项简化云计算资源管理的服务。您可以遵循ROS定义的模板规范编写资源栈模板,在模板中定义所需的云计算资源(例如ECS实例、RDS数据库实例)、资源间的依赖关系等。ROS的编排引擎将根据模板自动完成所有资源的创建和配置,实现自动化部署及运维。

模块是一种以透明、易管理和可重复的方式打包资源配置,以便跨资源栈模板实现包含的方法。模块可以将常见服务配置和最佳实践封装为模块化、可自定义的构建基块,供您包含在资源栈模板中。

例如:网络领域专家可以创建一个包含遵守安全准则的内置安全组和入口、出口规则的模块。然后您可以将该模块纳入到模板中,以便在资源栈中预配置安全的网络基础架构,而无需花费时间了解清楚VPC、子网、安全组和网关的工作方式。此外,由于模块具有版本控制,如果安全指南随时间而发生变化,模块创建者可以创建包含这些更改的新版本模块。


模块简介

模块特点

  • 可预测性:模块必须在ROS中创建后才能使用,您将模块纳入到模板中时,可以了解该模块能解析到哪些资源。
  • 可重用性:您可以在多个模板和账号中使用同一模块。
  • 可追溯性:ROS会跟踪资源栈中的哪些资源是从模块创建而成的。资源栈的资源、偏差、更改集中包含相关信息。
  • 可管理性:创建模块后,您可以通过ROS对其进行管理,例如版本控制。

模块分类

  • 公共模块:公共模块是资源编排为您提供的可直接使用的模块。更多信息,请参见查看公共模块
  • 自定义模块:自定义模块是通过控制台手动创建的模块。更多信息,请参见管理自定义模块
  • 共享模块是一种特殊的自定义模块。其他用户可以查看和使用您的共享模块,但无法修改和删除它。


使用示例

下方示例会把安全组的定义封装在一个模块里,然后在创建资源栈使用这个模块。

创建模块

登录资源编排控制台。在左侧导航栏,选择资源 > 我的模块。我的模块页面,单击创建模块

创建模块页面,输入下方内容。

这个模块包含一个安全组的定义。

模块编写方式与模板基本一致,更多信息可参见模块开发

ROSTemplateFormatVersion: '2015-09-01'
Description: 全网安全组配置
Parameters:
  SecurityGroupName:
    Type: String
  VpcId:
    Type: String
Resources:
  SecurityGroup:
    Type: ALIYUN::ECS::SecurityGroup
    Properties:
      SecurityGroupIngress:
        - PortRange: 22/22
          SourceCidrIp: 0.0.0.0/0
          IpProtocol: tcp
        - PortRange: 80/80
          SourceCidrIp: 0.0.0.0/0
          IpProtocol: tcp
        - PortRange: 443/443
          SourceCidrIp: 0.0.0.0/0
          IpProtocol: tcp
        - PortRange: 3389/3389
          SourceCidrIp: 0.0.0.0/0
          IpProtocol: tcp
        - PortRange: '-1/-1'
          SourceCidrIp: 0.0.0.0/0
          IpProtocol: icmp
      SecurityGroupName:
        Ref: SecurityGroupName
      SecurityGroupType: normal
      VpcId:
        Ref: VpcId

创建模块页面右上角,选择导入/保存模块 > 保存为新模块。在保存为新模块对话框,输入模块名称模块描述。单击确定

我的模块页面查看模块。

使用模块创建资源栈

在左侧导航栏,单击资源栈。资源栈列表页面,单击创建资源栈,然后在下拉列表中选择使用ROS

创建资源栈页面,输入下方内容。

这个模板创建了一个VPC,并使用刚才创建的模块在这个VPC下创建了一个安全组。

模块使用方式与资源基本一致,更多信息可参见使用模块

ROSTemplateFormatVersion: "2015-09-01"
Resources:
  Vpc:
    Type: ALIYUN::ECS::VPC
    Properties:
      VpcName: "test-vpc"
      CidrBlock: 192.168.0.0/24
  Sg:
    Type: MODULE::MyOrg::MyApp::SecurityGroup
    Version: v1
    Properties:
      SecurityGroupName: "test-sg"
      VpcId:
        Ref: Vpc
Outputs:
  VpcId:
    Value:
      Ref: Vpc
  SecurityGroupId:
    Value:
      Ref: Sg.SecurityGroup

单击下一步。单击创建。查看资源栈。

相关实践学习
Docker镜像管理快速入门
本教程将介绍如何使用Docker构建镜像,并通过阿里云镜像服务分发到ECS服务器,运行该镜像。
阿里云资源编排ROS使用教程
资源编排(Resource Orchestration)是一种简单易用的云计算资源管理和自动化运维服务。用户通过模板描述多个云计算资源的依赖关系、配置等,并自动完成所有资源的创建和配置,以达到自动化部署、运维等目的。编排模板同时也是一种标准化的资源和应用交付方式,并且可以随时编辑修改,使基础设施即代码(Infrastructure as Code)成为可能。 产品详情:https://www.aliyun.com/product/ros/
目录
相关文章
|
6月前
|
弹性计算 运维 持续交付
基于资源编排服务(ROS)实现存量资源的IaC化
如果您需要一种简单而有效的方法来管理大量云资源并实现自动化部署,推荐使用阿里云的资源编排服务ROS(Resource Orchestration Service)。ROS能够将存量资源转化为IaC(基础设施即代码),通过资源场景创建、模版生成和资源栈导入等功能,实现资源的统一管理和自动化部署。这不仅提高了资源管理的效率,还降低了成本。如果您想了解如何更轻松地管理云资源并加速部署流程,ROS是一个值得深入了解的工具。
79 1
|
7月前
|
弹性计算 JSON 运维
使用ROS CDK进行资源编排
ROS CDK(Cloud Development Toolkit)是ROS推出的代码开发工具,帮助您使用少量代码实现复杂模板的资源编排效果。
71 0
|
弹性计算 数据安全/隐私保护 开发者
ROS -使用模板参数|学习笔记
快速学习 ROS -使用模板参数
104 0
ROS -使用模板参数|学习笔记
|
监控 开发者
ROS-使用样例模板部署应用|学习笔记
快速学习 ROS-使用样例模板部署应用
71 0
ROS-使用样例模板部署应用|学习笔记
|
弹性计算 JSON 安全
ROS-编写并运行模板|学习笔记
快速学习 ROS-编写并运行模板
129 0
ROS-编写并运行模板|学习笔记
|
存储 弹性计算 运维
资源编排ROS之资源场景
# 背景 [资源编排服务](https://help.aliyun.com/document_detail/28852.html)(Resource Orchestration Service, 简称ROS)是阿里云提供的一项简化云计算资源管理的服务。您可以遵循ROS定义的模板规范编写资源栈模板,在模板中定义所需的云计算资源(例如ECS实例、RDS数据库实例)、资源间的依赖关系等。ROS的编排引擎
209 0
资源编排ROS之资源场景
|
SQL 弹性计算 NoSQL
ROS模板参数的进化之路
在使用ROS资源编排产品创建资源时,使用参数(Parameters)可提高模板的灵活性和可复用性,为了保证资源能顺利创建,通常需要打开多个控制台查找资源参数信息,这种体验是非常糟糕的。我们不喜欢手动输出参数,更加希望用鼠标点点就能选到正确的参数。 ## AssociationProperty和AssociationPropertyMetadata 在模板中使用 `AssociationPrope
279 0
ROS模板参数的进化之路
|
移动开发 自然语言处理 运维
使用资源编排ROS一键批量开通阿里云产品
## 背景 如果你使用过阿里云的云产品/服务,你会发现其中有不少需要手动点击“开通”。比如初次使用 SLS 日志服务时,就会进入下面的界面: ![sls-enable-service.jpg](https://ata2-img.oss-cn-zhangjiakou.aliyuncs.com/561d3fc5d9805e79a62a41a9094019c3.jpg) 作为个人用户,以手
1688 0
使用资源编排ROS一键批量开通阿里云产品
|
算法 机器人 定位技术
ROS中阶笔记(八):机器人SLAM与自主导航—机器人自主导航
ROS中阶笔记(八):机器人SLAM与自主导航—机器人自主导航
868 0
ROS中阶笔记(八):机器人SLAM与自主导航—机器人自主导航
|
1月前
|
网络协议 机器人 中间件
单片机和FreeRTOS上跑机器人ROS的应用
单片机和FreeRTOS上跑机器人ROS的应用
67 0

推荐镜像

更多