华为云容器编排服务 ---- AOS的应用
在学习编写时,参照了华为云的讲解视频,具有一定的时限性!但感觉应该出入问题不大!
策略1(模板)
元素对象:node_templates
tosca_definitions_version: huaweicloud_tosca_version_1_0 #版本(不变)
description: Template for deploying a specific application. #模板描述(不变)
node_templates: #元素(服务)对象
myecs: #元素(服务)名字
type: HuaweiCloud.ECS.CloudServer #元素(服务)类型:ecs服务
properties: #元素(服务)属性
name: ecs-mysql #ecs名字
imageId: c95a7ae9-4240-4584-b5a0-ed0418803a99 #ecs镜像id(镜像服务IMS)
flavor: s6.small.1 #ecs规格(ECS创建里面选择)
vpcId: 0aab023a-4615-4c19-a2d6-378ef7130fcf #Vpcid(VPC)
availabilityZone: cn-north-4b #可用区(OpenAPI --> 地区和终端节点)
nics:
- subnetId: 769328e0-edec-4684-bfa0-608fc0126717 #子网id
rootVolume: #系统盘
volumeType: SSD #系统盘类型(按照自己需求选择)
size: 40 #系统盘大小
模板2
输入参数:inputs
tosca_definitions_version: huaweicloud_tosca_version_1_0 #版本(不变)
description: Template for deploying a specific application. #模板描述(不变)
inputs: #输入参数
image: #参数1(镜像)
type: HuaweiCloud.ECS.Image.Id #ecs镜像id
default: c95a7ae9-4240-4584-b5a0-ed0418803a99 #默认镜像
flavor: #参数2(规格)
type: HuaweiCloud.ECS.Flavor.Name #ecs规格
default: s6.small.1 #默认规格
az: #参数3(可用区)
type: HuaweiCloud.ECS.AvailabilityZone.Name #ecs可用区
default: cn-north-4b #默认可用区
node_templates: #元素(服务)对象
myecs: #元素(服务)名字
type: HuaweiCloud.ECS.CloudServer #元素(服务)类型:ecs服务
properties: #元素(服务)属性
name: ecs-mysql #ecs名字
imageId: {get_input: image} #获取输入的ecs镜像
flavor: {get_input: flavor} #获取输入的ecs规格
vpcId: 0aab023a-4615-4c19-a2d6-378ef7130fcf #Vpcid(VPC)
availabilityZone: {get_input: az} #获取输入的ecs可用区(OpenAPI --> 地区和终端节点)
nics:
- subnetId: 769328e0-edec-4684-bfa0-608fc0126717 #子网id
rootVolume: #系统盘
volumeType: SSD #系统盘类型(按照自己需求选择)
size: 40 #系统盘大小
模板3
tosca_definitions_version: huaweicloud_tosca_version_1_0 #版本(不变)
description: Template for deploying a specific application. #模板描述(不变)
inputs: #输入参数
image: #参数1(镜像)
type: HuaweiCloud.ECS.Image.Id #ecs镜像id
default: c95a7ae9-4240-4584-b5a0-ed0418803a99 #默认镜像
flavor: #参数2(规格)
type: HuaweiCloud.ECS.Flavor.Name #ecs规格
default: s6.small.1 #默认规格
az: #参数3(可用区)
type: HuaweiCloud.ECS.AvailabilityZone.Name #ecs可用区
default: cn-north-4b #默认可用区
node_templates: #元素(服务)对象
myecs: #元素(服务)名字
type: HuaweiCloud.ECS.CloudServer #元素(服务)类型:ecs服务
properties: #元素(服务)属性
name: ecs-mysql #ecs名字
imageId: {get_input: image} #获取输入的ecs镜像
flavor: {get_input: flavor} #获取输入的ecs规格
vpcId: {get_reference: myvpc} #依賴于創建Vpcid(VPC)
availabilityZone: {get_input: az} #获取输入的ecs可用区(OpenAPI --> 地区和终端节点)
nics:
- subnetId: {get_reference: mysubnet} #依賴子网id
rootVolume: #系统盘
volumeType: SSD #系统盘类型(按照自己需求选择)
size: 40 #系统盘大小
requirements: #依賴于myvpc,mysubnet
- vpcId: #依賴1(vpc)
node: myvpc
- nics.subnetId: #依賴2(子网)
node: mysubnet
myvpc:
type: HuaweiCloud.VPC.VPC
properties: #元素(服务)属性
name: vpc1 #vpc名字
cidr: 192.168.0.0/16 #vpc网段
mysubnet:
type: HuaweiCloud.VPC.Subnet #元素(服务)类型:子网
properties: #元素(服务)属性
name: subnet1
availabilityZone: {get_input: az}
vpcId: {get_reference: myvpc}
cidr: 192.168.0.0/16
gateway: 192.168.0.1
requirements: #依賴于myvpc
- vpcId:
node: myvpc
模板4
条件:conditions
映射:mappings
tosca_definitions_version: huaweicloud_tosca_version_1_0 #版本(不变)
description: Template for deploying a specific application. #模板描述(不变)
inputs: #输入参数
image: #参数1(镜像)
type: HuaweiCloud.ECS.Image.Id #ecs镜像id
default: c95a7ae9-4240-4584-b5a0-ed0418803a99 #默认镜像
flavor: #参数2(规格)
type: HuaweiCloud.ECS.Flavor.Name #ecs规格
default: s6.small.1 #默认规格
az: #参数3(可用区)
type: HuaweiCloud.ECS.AvailabilityZone.Name #ecs可用区
default: cn-north-4b #默认可用区
create: #参数4(创建) #创建的状态
type: boolean #类型(boolean)
default: false #默认不创建
# 条件
conditions: #元素(条件)对象
mycondition: #元素(条件)名称
cond_eq: [{get_input: create}, true] #条件与输入参数一致,就执行(条件内置函数)
# 映射
mappings: #元素(映射)对象
regionMap: #元素(映射)名称
cn-north-4b: #可用区2
size: 100
cn-north-4a: #可用区1
size: 40
node_templates: #元素(服务)对象
myecs: #元素(服务)名字
condition: mycondition #引用条件mycondition
type: HuaweiCloud.ECS.CloudServer #元素(服务)类型:ecs服务
properties: #元素(服务)属性
name: ecs-mysql #ecs名字
imageId: {get_input: image} #获取输入的ecs镜像
flavor: {get_input: flavor} #获取输入的ecs规格
vpcId: {get_reference: myvpc} #依賴于創建Vpcid(VPC)
availabilityZone: {get_input: az} #获取输入的ecs可用区(OpenAPI --> 地区和终端节点)
nics:
- subnetId: {get_reference: mysubnet} #依賴子网id
rootVolume: #系统盘
volumeType: SSD #系统盘类型(按照自己需求选择)
size: {get_in_map: [regionMap, {get_input: az}, size]} #根据可用区确定系统盘的大小
requirements: #依賴于myvpc,mysubnet
- vpcId: #依賴1(vpc)
node: myvpc
- nics.subnetId: #依賴2(子网)
node: mysubnet
myvpc:
type: HuaweiCloud.VPC.VPC
properties: #元素(服务)属性
name: vpc1 #vpc名字
cidr: 192.168.0.0/16 #vpc网段
mysubnet:
type: HuaweiCloud.VPC.Subnet #元素(服务)类型:子网
properties: #元素(服务)属性
name: subnet1
availabilityZone: {get_input: az}
vpcId: {get_reference: myvpc}
cidr: 192.168.0.0/16
gateway: 192.168.0.1
requirements: #依賴于myvpc
- vpcId:
node: myvpc
模板5
输出参数:outputs
tosca_definitions_version: huaweicloud_tosca_version_1_0 #版本(不变)
description: Template for deploying a specific application. #模板描述(不变)
inputs: #输入参数
image: #参数1(镜像)
type: HuaweiCloud.ECS.Image.Id #ecs镜像id
default: c95a7ae9-4240-4584-b5a0-ed0418803a99 #默认镜像
flavor: #参数2(规格)
type: HuaweiCloud.ECS.Flavor.Name #ecs规格
default: s6.small.1 #默认规格
az: #参数3(可用区)
type: HuaweiCloud.ECS.AvailabilityZone.Name #ecs可用区
default: cn-north-4b #默认可用区
create: #参数4(创建) #创建的状态
type: boolean #类型(boolean)
default: false #默认不创建
# 条件
conditions: #元素(条件)对象
mycondition: #元素(条件)名称
cond_eq: [{get_input: create}, true] #条件与输入参数一致,就执行(条件内置函数)
# 映射
mappings: #元素(映射)对象
regionMap: #元素(映射)名称
cn-north-4b: #可用区2
size: 100
cn-north-4a: #可用区1
size: 40
node_templates: #元素(服务)对象
myecs: #元素(服务)名字
condition: mycondition #引用条件mycondition
type: HuaweiCloud.ECS.CloudServer #元素(服务)类型:ecs服务
properties: #元素(服务)属性
name: ecs-mysql #ecs名字
imageId: {get_input: image} #获取输入的ecs镜像
flavor: {get_input: flavor} #获取输入的ecs规格
vpcId: {get_reference: myvpc} #依賴于創建Vpcid(VPC)
availabilityZone: {get_input: az} #获取输入的ecs可用区(OpenAPI --> 地区和终端节点)
nics:
- subnetId: {get_reference: mysubnet} #依賴子网id
rootVolume: #系统盘
volumeType: SSD #系统盘类型(按照自己需求选择)
size: {get_in_map: [regionMap, {get_input: az}, size]} #根据可用区确定系统盘的大小
requirements: #依賴于myvpc,mysubnet
- vpcId: #依賴1(vpc)
node: myvpc
- nics.subnetId: #依賴2(子网)
node: mysubnet
myvpc:
type: HuaweiCloud.VPC.VPC
properties: #元素(服务)属性
name: vpc1 #vpc名字
cidr: 192.168.0.0/16 #vpc网段
mysubnet:
type: HuaweiCloud.VPC.Subnet #元素(服务)类型:子网
properties: #元素(服务)属性
name: subnet1
availabilityZone: {get_input: az}
vpcId: {get_reference: myvpc}
cidr: 192.168.0.0/16
gateway: 192.168.0.1
requirements: #依賴于myvpc
- vpcId:
node: myvpc
outputs: #在元素列表选择可以输出的参数
vpcId:
description: vpc id #输出元素描述
value: {get_attribute: [myvpc,refID]} #输入元素的值
菜鸡说:
这是我准备比赛的一个文档,可是比赛当天却什么都没考到!直接郁闷至极,不过有始有终吧!我还是把它模板的编写学习了一下!也算学习到了新知识!
下篇博客就打算回忆一下17振兴杯的共有云的题!
辣鸡如我,甩不掉!
感谢大家的支持,关注,评论,点赞!