资源编排操作指南
资源栈
资源栈就是一组云资源,对于云资源的创建、删除等操作,都是以资源栈为单位进行操作完成的。资源栈的基本功能包括创建资源栈、删除资源栈、重置资源栈和查看资源栈详情等功能。
创建资源栈
用户可以在资源编排控制台进行资源栈的创建,资源栈的创建需要资源模板,资源栈中的资源依赖于资源模板中定义的资源类型和数量。
1、 登录控制台
2、 选择【我的资源】>【资源编排ROS】>【资源栈】进入资源编排控制台
3、 选择【创建资源栈】进入基础配置
4、 第一步的参数说明与取值样例,如表所示;云服务器、云硬盘等参数配置参见资源类型。
参数 | 解释 | 取值样例 |
---|---|---|
资源栈名称 | 创建资源栈时的名称,名称(1~64个字符)只能由中文字符、英文字母、数字、下划线、和中划线组成。 | - |
模板 | 创建资源栈时使用的模板,分为模板市场的公有模板和用户自定义的私有模板 | - |
描述 | 资源栈的说明 | - |
查询资源栈详情
资源栈详情主要展示的是资源栈概况、资源栈资源、资源栈模板、资源栈参数信息和资源的监控信息。资源栈概况主要是资源栈的基本信息,包括资源栈id、名称和创建时间等。资源栈中资源主要是当前资源栈中的资源信息。资源栈模板就是当前创建当前资源栈所使用的模板。资源栈输出主要是用户需要输出的资源的参数信息,在模板中定义,资源创建成功后返回的参数信息。资源栈参数就是用户在创建资源栈时,输入的创建资源的参数的信息。
1、 登录控制台
2、 点击【产品与服务】>【资源编排ROS】>进入资源编排控制台
3、 点击想要查看的资源栈,进入详情页面
重置资源栈
资源栈中的资源重置功能。对于创建资源过程中出现非预期错误,导致资源栈异常的情况下,使用资源栈重置功能,则资源栈会将未创建成功的部分资源按照模板再一次进行创建。若资源栈异常导致所有资源均未创建成功,资源栈重置功能会直接按照模板创建所有资源。
1、 登录控制台
2、 点击【产品与服务】>【资源编排ROS】>进入资源编排控制台
3、 选择想要重置的资源栈,点击前端页面的重置按键
操作资源栈
资源栈中的应用操作功能。针对使用资源栈创建应用实例的情况,当资源栈资源中至少包含一台云服务器时,通过操作中的 启动/停止/重启 按钮,可实现对资源栈中云服务器的开关机,重启操作。
1、 登录控制台
2、 点击【产品与服务】>【资源编排ROS】>进入资源编排控制台
3、 选择想要重置的资源栈,点击前端页面的操作按键
删除资源栈
删除资源栈,将资源栈和资源栈中创建的资源全部删除。
1、 登录控制台
2、 点击【产品与服务】>【资源编排ROS】>进入资源编排控制台
3、 选择想要删除的资源栈,点击前端页面的删除按键,选择删除之后,资源栈、资源栈中的资源及资源中的数据都会被删除,不进行保留。
模板
查看模板信息
资源模板是一种可读、易编写的文本文件,用户可以直接编辑HCL格式文本,或者使用ROS资源编排可视化功能编辑模板。
模板分为模板市场的公有模板和用户自定义的私有模板。在资源模板模块中可以查看模板列表信息,包括名称、表述和创建时间信息。点击模板名称可以查看模板详情,模板详情中可以查看模板文件的具体内容。
私有模板就是用户根据自己的需要进行编辑的模板,公有模板就是用户可以直接使用的模板。公有模板由资源编排服务提供。
私有模板存放于【我的模板】中,公有模板存放于【模板市场】中。
1、 登录控制台
2、 点击【产品与服务】>【资源编排ROS】>【我的模板】/【模板市场】>进入资源模板控制台
3、 点击想查看的模板,进入详情页面
创建资源模板
用户可以在资源模板模块中上传自定义的私有模板,模板文件和脚本模板单个文件大小不超过48k。模板可以单个文件上传也可以多个文件打包上传(注意推荐要将模板都放在当前目录,不要放在文件夹内再打包,防止目录过长或者出现引用问题),支持打包方式为zip,tar,tar.gz格式,也允许单个文件和压缩包混合上传,上传队列最大不超过4个文件。当一个项目模板文件多时推荐打包后上传。用户自定义的模板需符合资源编排服务的规则。
1、 登录控制台
2、 点击【产品与服务】>【资源编排ROS】>【资源模板】>进入资源模板控制台
3、 点击【创建资源模板】,弹出创建窗口
4、 参数说明与取值样例,如表所示;
参数 | 解释 | 取值样例 |
---|---|---|
模板名称 | 创建资源栈时的名称,名称(1~64个字符)只能由中文字符、英文字母、数字、下划线、和中划线组成。 | - |
模板描述 | 创建资源栈时的描述 | - |
模板创建方式 | 可选择上传文件的形式或在线编辑的形式进行模板创建 | - |
上传文件 | 将本地的模板文件上传至私有模板数据库中 | - |
模板的操作
【模板市场】支持的操作包括复制、下载和以此模板创建资源栈,【我的模板】支持的操作包括更新、复制、删除、下载和以此模板创建资源栈。
公有模板复制后会创建同名模板到【我的模板】中。私有模板删除时会检查是否有资源栈使用了此模板,使用中的模板不可以被删除,需要先释放相应的资源栈才能删除模板。模板下载提供了模板打包下载的功能,可以保存公有或者私有模板的zip格式压缩包至本地。
复制模板
1、 登录控制台
2、 点击【产品与服务】>【资源编排ROS】>【我的模板】/【模板市场】>进入资源模板控制台
3、 点击复制模板按键,弹出的会话点击确定,即可复制模板
4、 点击私有模板,可以看到刚刚复制的模板
下载模板
1、 登录控制台
2、 点击【产品与服务】>【资源编排ROS】>【我的模板】/【模板市场】>进入资源模板控制台
3、 公有模板和私有模板均提供下载
删除模板
1、 登录控制台
2、 点击【产品与服务】>【资源编排ROS】>【资源模板】>进入资源模板控制台
3、 私有模板提供删除选项,点击删除按键,弹出的会话框中点击确定,即可删除模板
模板编写
模板功能的模板使用的是Terraform配置语言语法规则,详细规则和模板进阶功能可参考Terraform官方文档
资源编排的示例模板中提供了一些公共模板可以作为参考,一般情况下示例模板可以直接使用,或者拷贝后直接使用,也可以根据需要进行编辑和上传,虽然模板的文件名没有明确限制,但是为了清晰和复用性,推荐在定义模板时将资源定义通常放在main.tf文件中,变量定义放在variables.tf文件中,输出变量定义在outputs.tf文件中,脚本模板文件定义在.tpl文件中。
资源定义
资源定义用来定义需要在云平台上创建的云资源,一般为模板创建的必须内容。定义规则如下:
resource “资源类型” “资源名”{
资源属性 = 属性值
}
其中资源类型为云资源类型定义中定义的资源类型名,资源名则是为该资源类型的实例名字,并不是要创建的资源的名称,用于在资源或者数据源等引用时作为区分的名称。资源属性可以为资源类型定义中的必选属性、可选属性和terraform内置的属性,资源值可以为terraform支持的数据类型的值,需要按照该资源类型的定义来书写。资源值可以为确定的值,也可以是其他定义的值的引用,如其他资源的属性值、变量定义的值等。
示例:
定义一个vpc实例:
resource "inspurcloud_vpc" "my_vpc" {
count = 1
name ="inspur-vpc-test"
cidr = var.vpc_cidr
}
本示例中定义了一个VPC实例"my_vpc",count为terraform内置可选属性,可以快捷定义实例数量。name属性定义了该实例的名称为"inspur-vpc-test",cidr为该网络的定义,值为一个输入变量vpc_cidr的引用,只有该变量定义给出确定值时,该资源定义才定义完毕。
输入变量定义
变量作为资源定义中的属性值的引用,使用变量定义的方式可以更加清晰,方便根据需求进行修改。资源的定义一般是固定的,部分业务中仅需进行变量的替换即可,极大减少重复性的定义工作。
定义规则如下:
variable "变量名" {
type = 数据类型定义
default = 变量值
description =描述信息
}
其中变量的变量名是该变量在引用时使用的名称。type为该变量的数据类型定义,为可选项。default定义的变量值则为该变量的具体值,如若变量定义了数据类型,则变量值的数据类型应与其定义相符合。description为该变量的表述信息,可选项。
示例:
variable "vpc_cidr"{
type=string
default = "192.168.0.0/16"
description = "vpc网络定义"
}
本示例中vpc_cidr为该变量的变量名,变量的类型为字符串,变量值为"192.168.0.0/16",并且进行了变量的表述。
输出变量定义
输出变量为资源创建好后需要输出的资源属性信息,可输出的变量信息在云资源类型定义中查询,输出变量定义是可选的,一般定义常用的即可,无需将全部输出变量定义写入。此功能可以方便查询到创建好的资源的需要关注的属性。
定义规则如下:
output "变量名" {
value = 资源类型.资源属性
description= 描述信息
}
输出变量的定义与输入变量的定义类似,变量值用value接收,值为资源类型.资源属性的方式定义。
数据源定义
数据源为检索条件组成的对资源列表信息的检索定义,检索到的资源的属性也可以在资源定义时引用。定义规则如下:
data "数据源类型" "数据源名称" {
检索条件= 检索值
}
其中数据源类型在云资源类型定义中定义,数据源名称为使用到该数据源时引用时用到的名称。检索条件在资源类型中选取,检索值可以为具体值也可以为变量或者资源属性的引用等。
示例:
data "inspurcloud_vpcs" "vpcs" {
id = inspurcloud_vpc.vpc[0].id
}
本示例定义了Vpc数据源,定义数据源名称为vpcs,过滤条件为vpc的id,值为创建好的vpc资源中索引为[0]的vpc资源的id值,
数据类型和值说明
模板支持的数据类型包括:string、number、bool、list(tuple)、map(object),值包括数据类型对应的相应类型值和null,null值代表该值不存在或者被忽略。 表达式和方法:
bool类型的值包括true和false
list/tuple可以包含一组值,如["a", 15, true]
map/object可以用于包含一系列键值对,例如
{
name = "John"
age = 52
}
取值时,list边框可以用变量名.[索引]的方式取值,map可以用变量名.[键/属性]的方式得到键/属性的值
脚本模板文件编写
模板的脚本为对应资源可以执行的脚本,在云资源上为云服务器启动时执行的脚本,对于linux来说相当于shell脚本,对于windows来说是批处理脚本。脚本长度不超过16Kb。
脚本模板支持为一组云服务器资源启动时进行脚本的执行,在脚本中也可以使用资源、变量、输出中定义的值等,完成批量资源部署,达成资源栈资源相关联的目的。
在云服务器资源定义中,定义user_data属性的值,可以是直接填写的脚本(注意字符转义),也可以引用脚本模板文件。引用脚本文件的示例如下:
user_data = templatefile("./client.tpl",{dbName="${var.dbName}",dbUser="${var.dbUser}",dbPasswd="${var.dbPasswd}"})
引用tpl文件时需要使用templatefile()方法,第一个参数为tpl文件地址(工作目录为当前文件夹),第二个参数为一个map,用于将map中的键值对注入到脚本模板中,key为tpl文件中使用到的变量,值为${}引用的值、变量或者属性等。在tpl文件中用${}方式使用注入的变量。例如${dbName}
保留字
为给一些特殊功能的模板提供特定功能,资源编排模板中设定了一些保留字:&{region}, &{account}, &{resourceId},&{registry_url},&{userName}。当模板中出现已上几种特定字段,资源编排在创建资源时,将对其进行自动替换 。&{region}将被替换为当前region,如模板中为' region=&{region} '',则实际创建资源时会已' region="cn-north-3" '进行创建;&{account}将被替换为当前用户id;&{resourceId}将被替换为随机生成的UUID。
资源类型
为确保用户能顺利进行模板编写,资源编排服务提供了资源编排可在云上编排的资源的样例模板,用户可在 资源类型 功能查询模板中各资源所需要填写的属性等。
1、 登录控制台
2、 点击【产品与服务】>【资源编排ROS】>【资源类型】进入资源编排资源类型功能
3、 选择需要查看的资源
可视化编辑器
可视化编辑器通过友好的界面为用户提供图形化定义模板的功能,通过可视化编辑器,用户可不用熟悉terraform语法,仅通过图标的拖拽与连接及属性的填写,即可完成资源编排模板的创建。可视化编辑器在页面上分为以下几部分: 资源列表,动作按钮以及画布。
可用资源列表
可用资源列表展示当前资源编排服务支持编排的云上资源。
画布
画布用于展示用户定义的资源情况。用户可从左侧的可用资源列表通过拖拽的形式,将所需资源拖拽到画布上,通过连线的方式决定资源间的关联关系,并通过点击资源图标进行资源详细属性的设置。
如上图,即为创建了一个ECS云服务器和一个EIP,并将其进行绑定。
在对资源间的关联关系定义完成之后,双击资源图标,可进行资源详细属性的配置。必填属性将被*号标出。
动作按钮
模板动作选择按钮区域,提供如下图所示功能: