首页 > 其他分享 >资源编排ROS之模块:实现模板代码复用(基础篇)

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

时间:2024-03-20 15:46:26浏览次数:23  
标签:span type spacing 复用 0.15 leaf ROS data 模板

背景

 

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

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

 

 

标签:span,type,spacing,复用,0.15,leaf,ROS,data,模板
From: https://www.cnblogs.com/alicloudros/p/18085381

相关文章

  • 洛谷题单指南-集合-P3370 【模板】字符串哈希
    原题链接:https://www.luogu.com.cn/problem/P3370题意解读:本题要求理解哈希的原理,自行建立哈希表解题,如果直接使用map,就不推荐。解题思路:先介绍哈希的原理1、什么是哈希?什么是哈希表?先从一个问题出发:给定不超过105个整数(取值1~109),要统计不重复整数的数量。首先,如果取值范围......
  • 【Linux Day16 I/O复用】
    I/O复用用途:I/O复用能同时监听多个文件描述符。I/O复用虽然能同时监听多个文件描述符,但它本身是阻塞的。并且当多个文件描述符同时就绪时,如果不采取额外的措施,程序就只能按顺序依处理其中的每一个文件描述符,这使得服务器看起来好像是串行工作的。如果要提高并发处理......
  • 第 6 章 ROS-URDF练习(自学二刷笔记)
    重要参考:课程链接:https://www.bilibili.com/video/BV1Ci4y1L7ZZ讲义链接:Introduction·Autolabor-ROS机器人入门课程《ROS理论与实践》零基础教程6.3.4URDF练习需求描述:创建一个四轮圆柱状机器人模型,机器人参数如下,底盘为圆柱状,半径10cm,高8cm,四轮由两个驱动轮和......
  • Java根据模板生成excel文件【EasyExcel】【xls、xlsx】
    本文章参考:作者:WaiSaa  原文链接:https://blog.csdn.net/qq_42761569/article/details/1190251711、简介如下图所示,template目录下是准备好的模板,export目录下是生成数据文件。我们这里以第一个模板《theUser蒸汽历史数据.xls》为例进行测试,theUser为占位符,生成的文件中会被替换......
  • Cannot resolve com.microsoft.sqlserver:sqljdbc4:4.0解决方案
    问题:<dependency> <groupId>com.microsoft.sqlserver</groupId> <artifactId>sqljdbc4</artifactId> <version>4.0</version></dependency>爆红解决方案1手动下载jar包MavenRepository:com.microsoft.sqlserver»sqljdbc4»4.0......
  • 050_Microsoft Azure平台实验
    目录Azure平台简介Azure机器学习实验观察数据集导入数据总结数据集数据上传至Azure机器学习实验创建新的Azure机器学习实验分割数据集模型训练选择预测项模型评分模型计算结果的可视化模型评估Azure平台简介Azure机器学习实验观察数据集导入数据总结数据集数据上......
  • 详细分析Python模块中的雪花算法(附模板)
    目录前言1.基本知识2.模板3.Demo前言分布式ID的生成推荐阅读:分布式ID生成方法的超详细分析(全)1.基本知识Snowflake算法是一种用于生成全局唯一ID的分布式算法,最初由Twitter设计并开源它被设计用于解决分布式系统中生成唯一ID的需求,特别是在微服务架构和......
  • ubuntu22 安装ROS 解决公钥问题和源问题
    最近在做路径规划的东西,装这个ROS太费劲了,记录一下#设定环境sudoaptupdate&&sudoaptinstalllocalessudolocale-genen_USen_US.UTF-8sudoupdate-localeLC_ALL=en_US.UTF-8LANG=en_US.UTF-8exportLANG=en_US.UTF-8sudoaptinstallsoftware-properties-comm......
  • 算法模板 v1.10.1.20240319
    算法模板v1.1.1.20240115:之前历史版本已不可寻,创建第一份算法模板。v1.2.1.20240116:删除“编译”-“手动开栈”;删除“编译”-“手动开O优化”;修改“编译”-“CF模板”;删除“读写”;删除“图论”-“欧拉图”-“混合图”;删除“图论”-“可达性统计”;删除“数据类型”-“高精类”。......
  • Maven Archetype自定义工程模板(Eclipse中,其他IDE同理)
    1.问题在Eclipse中,我们想创建一个web项目,使用web-app脚手架进行创建,但是里面的模板并不是我们想要的比如我想自定义pom.xml里面的内容,设定jdk版本,groupID等等,配置Web项目基本依赖以及我想要设置一个基本的index.jsp(符合基本模板的)和web.xml中设置web-app的版本为3.1......