多实例的heat模板(代码片段)

heartshake heartshake     2023-04-27     638

关键词:

一、heat编排

       heat编排简单来讲,就是替代人工自动选择OpenStack自身基础架构资源,包括计算、网络和存储等资源。通过编排这些资源,用户可以得到最基本的VM。

二、heat模板

     目前heat支持两种格式的模板,一种是基于JSON格式的CFN模板,另一种是基于YAML格式的HOT模板。

     一个典型的HOT模板由下列元素构成

    (1)模板版本

          必填字段,指定所对应的模板版,Heat会根据版本检验。 如:

heat_template_version: 2013-05-23 #版本信息(heat template-version-list可查看所有模板版本)
description: Test Template

          用heat template-show 命令来查询

      (2)参数列表

        选填,指输入参数列表。如      

parameters:     #自定义变量
  Image:        #变量①
    type: string  #变量类型
    description: Image use to boot a server #描述
  Net:            #变量② 
    type: string
    description: Network for the server

 

  (3)资源列表

       必填,指生成的Stack让所包含的各种资源 。可以定义资源间的依赖关系,例如生成Port,然后再用Port来生成VM

resources: #描述的资源(如网络、实例、云硬盘等)
  server1: #资源名称
    type: OS::Nova::Server  #资源类型(为云主机)(heat resource-type-list可查看所有资源类型)
    properties: #云主机属性
      name: "Test Heat server" #云主机名称
      image:  get_param: Image  #镜像
      flavor: "2" #云主机类型(cpu、内存、硬盘等)
      networks: #网络(可以有不止一个)
      - network:  get_param: Net 

      (4)输出列表

       选填,指生成的Stack暴露出来的信息,可以用来给用户使用,也可以用来作为输入提供给其他的Stack。     

outputs:  #返回值
  server1_private_ip: #返回值名称
    description: IP address of the server in the private network #描述
    value:  get_attr: [ server1, first_address ]  

”get_param“作用:引用模板中指定的参数。如get_param: Image,引用parameters中Image的值。
“get_attr”作用:引用资源属性。如get_attr: [ server1, first_address ],引用server1资源中first_address的值。first_address必须是模板resouce段中指定的资源。

三、heat的多实例模板

     实例的模板如下:

heat_template_version: 2015-10-15
description: Launch a basic instance with centos7.2 image using the
             ``m1.small`` flavor and one network.

parameters:
  Net:
    type: string
    description: Network for the instance.

resources:
  Server1:
    type: OS::Nova::Server
    properties:
      image: Centos6.5
      flavor: m1.small
      networks:
      - network:  get_param: Net 
  Server2:
    type: OS::Nova::Server
    properties:
      image: Centos7.2
      flavor: m1.small
      networks:
      - network:  get_param: Net    
outputs:
  Server1_instance_name:
    description: Name of the instance.
    value:  get_attr: [ Server1, name ] 
  Server1_instance_ip:
    description: IP address of the instance.
    value:  get_attr: [ Server1, first_address ] 
  Server2_instance_name:
    description: Name of the instance.
    value:  get_attr: [ Server2, name ] 
  Server2_instance_ip:
    description: IP address of the instance.
    value:  get_attr: [ Server2, first_address ] 

 

heat模板

Heat目前支持两种格式的模板,一种是基于JSON格式的CFN模板;另外一种是基于YAML格式的HOT模板。CFN模板主要是为了保持对AWS的兼容性。HOT模板是Heat自有的,资源类型更加丰富,更能体现出Heat特点的模板。一个典型的HOT模板由下... 查看详情

模板优化运用function及外部模板(代码片段)

 我们都知道模板是泛型的,但是,它一旦被实例化就会产生一个实例化的副本。好了,大家应该能够猜到,低效模板和高效模板的差异了一般的低效模板:1.泛型实参表达形式多样导致的低效模板2.多文件引用同一个模板形... 查看详情

关于模板(代码片段)

模板实例化程序员在使用模板类最常犯的错误为:将模板类视为某种数据类型。所谓类型参量化这样的术语导致了这种误解。模板当然不是数据类型,模板就是模板。明确以下观点,帮助理解模板:编译器使用模板,通过模板参... 查看详情

c++初识模板(代码片段)

...式(3)函数模板的原理(4)函数模板的实例化隐式实例化显式实例化(5)模板参数的匹配原则3.类模板(1)类模板的定义格式(2)类模板的实例化1.泛型 查看详情

c++模板(代码片段)

...板的概念1.2函数模板类型1.3函数模板的原理1.4函数模板的实例化1.4.1隐士实例化1.4.2显式实例化1.5模板参数的匹配原则二、类模板2.1类模板的定义格式2.2类模板的实例化总结前言本节将为大家讲解C++中另一个重要的部分࿱... 查看详情

模板设计模式实例(代码片段)

...实现.子类实现的结果又会反过来影响确定部分的功能.**实例:计算一个功能的耗时*分析:固定的功能:开始时间,结束时间*不固定的功能:程序运行的时间*/publicclassDemopublicstaticvoidm 查看详情

WIX - Heat.exe - Heat.exe 是不是支持多种多收获类型

】WIX-Heat.exe-Heat.exe是不是支持多种多收获类型【英文标题】:WIX-Heat.exe-DoesHeat.exesupportmultiplemultipleharvesttypeWIX-Heat.exe-Heat.exe是否支持多种多收获类型【发布时间】:2016-09-0903:35:38【问题描述】:我想使用Heat.exe命令构建一个WIX文... 查看详情

面向对象---成员,嵌套(建模)(代码片段)

...函数中公用的变量封装到对象中)③对象,根据模板创建的实例(即:对象),实例中用于调用被包装(封装)在类中的函数④面向对象的三大特性:封装,继承和多态 本片讲介绍python类的成员,以及成员修饰符,类的特殊成员 &nbs 查看详情

c++模板(代码片段)

文章目录C++模板函数模板函数模板的实例化隐式实例化:让编译器根据实参推演模板参数的实际类型显示实例化:在函数名后用<>来指定实际类型模板参数的匹配原则总结:类模板模板的分离编译问题C+&#... 查看详情

”更高级的宏“模板到底是怎么实例化的?(代码片段)

...些简单且常用的模板技术template+函数声明将模板提前实例化一份type_traits( 查看详情

015-elasticsearch-搜索模板,多搜索模板,(代码片段)

一、搜索模板查看地址二、多搜索模板查看地址三、搜索分片API  搜索分片api返回将执行搜索请求的索引和分片。这可以提供有用的反馈,用于解决问题或使用路由和分片首选项进行规划优化。使用过滤别名时,过滤器将作为... 查看详情

c++泛型编程(代码片段)

...模板概念(2)函数模板格式(3)函数模板的原理(4)函数模板的实例化1)隐式实例化:让编译器根据实参推演模板参数的实际类型2)显式实例化:在函数名后的<>中指定模板参数的实际类型(5)模板参数的匹配原则3.类模板(1)类... 查看详情

c++泛型编程(代码片段)

...模板概念(2)函数模板格式(3)函数模板的原理(4)函数模板的实例化1)隐式实例化:让编译器根据实参推演模板参数的实际类型2)显式实例化:在函数名后的<>中指定模板参数的实际类型(5)模板参数的匹配原则3.类模板(1)类... 查看详情

heat入门第一步

...通过简单定义和配置就能实现的云部署方式。可以在heat模板中定义连串相关任务(例如用某配置开几台虚拟机,然后再去在其中一台中安装一个mysql服务,设定相关数据库属性,然后再配置几台虚拟机安装web服务... 查看详情

实验:基于yum安装的多实例(代码片段)

实验:基于YUM安装的多实例1.安装mariadbyuminstallmariadb2.创建多实例对应的目录结构mkdir/mysql/3306,3307,3308/data,,socket,log,bin,pid-pvchown-Rmysql.mysql/mysql3.创建多实例的数据库文件mysql_install_db--datadir=/mysql/3306/data/--user 查看详情

第十四篇camunda系列-多人会签多实例(代码片段)

多人会签MultipleInstance也叫多实例任务。1.会签说明  多实例活动是为业务流程中的某个步骤定义重复的一种方式。在编程概念中,多实例与foreach结构相匹配:它允许对给定集合中的每个项目按顺序或并行地执行某个步骤或甚... 查看详情

docker(代码片段)

...容器,Container,Docker运行的最小单位对象。它是通过镜像实例化出来的一个可运行对象。容器的修改,可以提交反作用于镜像,更新这个容器的模板。仓库,Repository,用于存储管理镜像的仓库,类似于git管理代码的仓库一样,... 查看详情

使用python,opencv进行模板匹配单对象多对象及多尺度模板匹配(代码片段)

使用Python,OpenCV进行模板匹配单对象、多对象及多尺度模板匹配1.效果图1.1模板匹配单对象1.2模板匹配多对象1.3多尺度模板匹配2.原理3.源码3.1模板匹配单对象3.2模板匹配多对象参考这篇博客将介绍如何使用模板匹配在图像中查找... 查看详情