Cat-God-007

导航

华为云容器编排服务 ---- 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振兴杯的共有云的题!
辣鸡如我,甩不掉!
在这里插入图片描述
感谢大家的支持,关注,评论,点赞!

posted on 2022-07-11 00:47  成果和地方  阅读(18)  评论(0编辑  收藏  举报  来源