背景

资源编排服务(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

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

资源编排ROS之模块:实现模板代码复用(基础篇)的更多相关文章

  1. 开发函数计算的正确姿势 —— 使用 ROS 进行资源编排

    前言 首先介绍下在本文出现的几个比较重要的概念: 函数计算(Function Compute): 函数计算是一个事件驱动的服务,通过函数计算,用户无需管理服务器等运行情况,只需编写代码并上传.函数计算 ...

  2. 读取web工程中.properties资源文件的模板代码

    读取web工程中.properties资源文件的模板代码 // 读取web工程中.properties资源文件的模板代码 private void test2() throws IOException ...

  3. Django---Http协议简述和原理,HTTP请求码,HTTP请求格式和响应格式(重点),Django的安装与使用,Django项目的创建和运行(cmd和pycharm两种模式),Django的基础文件配置,Web框架的本质,服务器程序和应用程序(wsgiref服务端模块,jinja2模板渲染模块)的使用

    Django---Http协议简述和原理,HTTP请求码,HTTP请求格式和响应格式(重点),Django的安装与使用,Django项目的创建和运行(cmd和pycharm两种模式),Django的基 ...

  4. SAP FI CO模块常用事务代码

                                                                                                        ...

  5. 在pycharm中自定义模板代码,快速输出固定代码块

    pycharm中有时会经常输出固定一段代码,为避免每次重复输入,可以自定义一段模板代码,请看以下图教程: 1.  点击 file   里面的   setting 2. 在搜索框输入live,就会显示出 ...

  6. IaC云资源编排-Terraform

    Terraform 2019/10/14 Chenxin 整理 转自: https://cloud.tencent.com/developer/article/1469162 IaC与资源编排 IaC ...

  7. inputstream和outputstream读写数据模板代码

    //读写数据模板代码 byte buffer[] = new byte[1024]; int len=0; while((len=in.read(buffer))>0){ out.write(b ...

  8. eclipse 中 Servlet 模板代码(其实是代码提示模板)

    说的是模板代码,应该说的是提示的模板代码,并不是一新建就会出现模板. 第一步:先建一个Servlet文件,写好自己想要的模板 我的模板如下: 全选并复制,等会要粘贴到Servlet的提示模板中. pa ...

  9. (二)SpringBoot基础篇- 静态资源的访问及Thymeleaf模板引擎的使用

    一.描述 在应用系统开发的过程中,不可避免的需要使用静态资源(浏览器看的懂,他可以有变量,例:HTML页面,css样式文件,文本,属性文件,图片等): 并且SpringBoot内置了Thymeleaf ...

  10. 用Case类生成模板代码

    将类定义为case类会生成许多模板代码,好处在于: ①会生成一个apply方法,这样就可以不用new关键字创建新的实例. ②由于case类的构造函数参数默认是val,那么构造函数参数会自动生成访问方法 ...

随机推荐

  1. 解密方舟的高性能内存回收技术——HPP GC

    原文:https://mp.weixin.qq.com/s/o8uuP1XViIyviveL4m-8ZQ,点击链接查看更多技术内容. 众所周知,内存是操作系统的一项重要资源,直接影响系统性能.而在应用 ...

  2. docker 应用篇————docker原理[三]

    前文 前面就已经介绍了docker的安装,在https://www.cnblogs.com/aoximin/p/12906218.html,这里面,这里作为重新整理. 那么这里就不介绍了,这里直接是进 ...

  3. WPF开发随笔收录-查看PDF文件

    一.前言 在项目的开发过程中,涉及到查看服务器生成的pdf报告文件的查看,起初的方案是通过spire.pdf这个库来将pdf文件转换成图片,然后在进行查看.但是经常被吐槽预览不清晰,后面上网发现了一个 ...

  4. python之six模块的用法six.py2 six.py3

    import six,sys print(six.PY2) #python2结果为True print(six.PY3) #python3结果为True

  5. pycharm更换主题,pycharm更换皮肤,pycharm更换不同颜色

    1.首先  点击File→进入setting 2. 在settings里面找到appearance 3.选择 Theme,下拉即可修改 4.选择不同的主题,darcula是黑色,其他两个是白色

  6. 实际项目中一般使用到的git知识

    1.项目上线分支管理流程 图片压缩太厉害有些模糊 700k 压缩到20多k 清晰些的图片地址https://project.zdzspace.cn/test-vuekey 2.一些常用的git命令 g ...

  7. 【笔记】问题控制与管理&故障、问题、已知错误、变更请求之间的逻辑关系&问题管理流程

    [笔记]问题控制与管理&故障.问题.已知错误.变更请求之间的逻辑关系 问题控制与管理 与故障管理的尽可能快地恢复服多的目标不同,问题管理是要防止再次发生故障 例如你制作了一个报表,用户填写了问 ...

  8. 暑期集训 Day5 —— 模拟赛复盘

    ${\color{Green} \mathrm{Problem\ 1 :选数 }} $ 签到题,一眼二分,但是打模板时死循环了: while(L<R){ int mid=(L+R)>> ...

  9. 阿里巴巴大规模应用Flink的踩坑经验:如何大幅降低 HDFS 压力?

    众所周知 Flink 是当前广泛使用的计算引擎,Flink 使用 checkpoint 机制进行容错处理[1],Flink 的 checkpoint 会将状态快照备份到分布式存储系统,供后续恢复使用. ...

  10. 为余势负天工背,云原生内存数据库Tair助力用户体验优化

    ​简介:作为双11大促承载流量洪峰的利器,Tair支撑了电商交易核心体验场景.不仅在数十亿QPS的峰值下保持着亚毫秒级别的顺滑延迟,同时在电商交易核心体验场景上也做出了技术创新. ​ 作者 | 漠冰 ...