openstack学习-理解heat编排管理和简单操作
admin
2023-03-31 04:21:25
0

HEAT服务

编排服务通过运行调用生成运行中云应用程序的OpenStack API为描述云应用程序提供基于模板的编排。该软件将其他OpenStack核心组件整合进一个单文件模板系统。模板允许你创建很多种类的OpenStack资源,如实例,浮点IP,云硬盘,安全组和用户。它也提供高级功能,如实例高可用,实例自动缩放,和嵌套栈。这使得OpenStack的核心项目有着庞大的用户群。

服务使部署人员能够直接或者通过定制化插件来与编排服务集成,简单来说就是用户可以预定义一个格式的任务模板,其中定义了一系列的相关任务,交给heat就会按一定的顺序执行heat模板中定义的任务。

架构

openstack学习-理解heat编排管理和简单操作

用户在horizon中或者命令行中提交包含模板和参数输入的请求,转化为REST格式的api调用,Heat-api和heat-api-cfn会验证模板的正确性,然后通过消息列队传递给heat engine来处理。
heat中的模板是openstack资源的集合,通过定义模板,可以将需要创建的资源在模板中描述,用此模板可以多次创建需要的资源

组件

Heat-api:提供REST API服务,是与其他组件交换的入口,接收api请求传给heat-engine
Heat-api-cfn:提供兼容AWS CloudFormation的api,接收请求转发给heat-engine
Heat-engine:核心组件,主要实现资源调度,资源生命周期管理等作用,自身并不提供资源创建功能,只负责编排资源后交给其他组件去处理

Heat Engine架构

openstack学习-理解heat编排管理和简单操作

模板

heat模板默认编写语言是YAML,关于yaml语言的定义和使用https://yaml.org/start.html

openstack学习-理解heat编排管理和简单操作

openstack学习-理解heat编排管理和简单操作
resource ID:资源ID,在模板的resources部分中必须是唯一的
type:资源类型:例如OS::Nova::Server或OS::Neutron::Port,必选属性
properties:特定资源的属性列表,可选属性
metadata:特定资源的元数据,可选
depends_on:资源依赖模板中的一个或者多个资源上,可选属性
update_policy:删除资源的策略,可选
deletion_policy:删除资源的策略。允许的删除策略是delete,retain和snapshot,可选,默认策略是从stack中删除资源时删除物理资源
external_id:允许为现有外部(到堆栈)资源指定resource_id,可选属性
condition:资源的条件,决定是否创建资源

Heat Stack

stack:资源的集合,管理一组资源的基本单位,用户操作的最小单位,通过对stack的生命周期管理,进而完成应用的部署和对资源的管理

常用命令
stack list
stack create
stack show
stack delete
stack output list
stack resource list
stack event show

编排场景

openstack学习-理解heat编排管理和简单操作
基础架构资源编排:对计算、存储和网络等基础资源进行编排,支持用户自定义脚本配置虚拟机
应用资源编排:实现对虚拟机的复杂配置,例如软件安装,配置软件
高级编排:例如应用的负载均衡和自动伸缩
第三方工具集成编排:复用现有的Ansible Playbook配置

基础架构编排

对于不同的openstack资源,heat提供了不同的资源类型。
例如虚拟机,heat提供了OS::Nova::Server,并提供参数,(key,image,flavor),参数可以在模板中指定,也可以在创建stack时提供
openstack学习-理解heat编排管理和简单操作

软件配置和部署的编排

常用的是OS::Heat::SoftwareConfig和OS::Heat::SoftwareDeployment
openstack学习-理解heat编排管理和简单操作

openstack学习-理解heat编排管理和简单操作

自动伸缩的编排

openstack学习-理解heat编排管理和简单操作

负载均衡的编排

openstack学习-理解heat编排管理和简单操作

openstack学习-理解heat编排管理和简单操作

配置管理工具集成

openstack学习-理解heat编排管理和简单操作

编排管理

openstack学习-理解heat编排管理和简单操作

编写HOT模板创建简单虚拟机实例

HOT模板可以通过在Openstack中创建yaml文件进行编写,也可以从外部导入已经完成的HOT模板
登陆controller节点,导入管理员环境变量

. admin-openrc.sh

安装python-heatclient

sudo apt install python-heatclient

然后输入以下命令,查看当前可用的镜像,规格,密钥对等信息

openstack image list
openstack flavor list
openstack keypair list

openstack学习-理解heat编排管理和简单操作

openstack学习-理解heat编排管理和简单操作

创建一个demo-template.yaml文件,作为HOT模板

touch demo-template.yaml
vi demo-tempalte.yaml

按照如下编写,注意每个":"后都要有空格,即时没有字符也要有空格
可以用notpad++将文件写完后,上传,避免写错

heat_template_version: 2015-10-15
parameters: 
 NetID: 
  type: string
  description: Network ID to use for the instance.

resources: 
 server: 
  type: OS::Nova::Server
  properties: 
   image: Img_cli
   flavor: Flavor_cli
   key_name: KeyPairCli
   networks: 
   - network: { get_param: NetID }

outputs: 
 instance_name: 
  description: Name of the instance.
  value: { get_attr: [server,name] }
 instance_ip: 
  description: IP address of the instance.
  value: { get_attr: [server,first_address] }

openstack学习-理解heat编排管理和简单操作

其中resources.server中的image,flavor,key_name为环境中可用的镜像、规格和密钥对
查看当前网络

openstack network list

openstack学习-理解heat编排管理和简单操作
记录provider的id
执行以下命令设置环境变量的NET_ID

export NET_ID=

openstack学习-理解heat编排管理和简单操作

使用HOT模板 demo-template.yaml,创建堆栈Stack_demo

 openstack stack create -t demo-template.yaml --parameter "NetID=$NET_ID" Stack_demo

openstack学习-理解heat编排管理和简单操作
等待几分钟后,查看堆栈的创建过程

openstack stack event list Stack_demo

openstack学习-理解heat编排管理和简单操作
查看堆栈列表,状态变为CREATE_COMPLETE表示创建成功

openstack stack list

openstack学习-理解heat编排管理和简单操作
查看堆栈的详细信息

openstack stack show Stack_demo

openstack学习-理解heat编排管理和简单操作

查看堆栈创建完成后输出的虚拟机实例名称和IP

openstack stack output show --all Stack_demo

openstack学习-理解heat编排管理和简单操作

查看虚拟机实例列表进行确认

openstack server list

openstack学习-理解heat编排管理和简单操作

相关内容

热门资讯

特朗普下令不打了,美国的“余粮... 可以说戛然而止,快得让很多人都无法适应。前两周,每一天美国都要打击伊朗一通。就在7月24日白宫会议前...
穆杰塔巴最新表态:支持黎真主党 △伊朗最高领袖穆杰塔巴·哈梅内伊(资料图)当地时间7月26日晚,伊朗最高领袖穆杰塔巴·哈梅内伊对黎巴...
美军瘫痪一艘驶向伊朗的油轮,特... 美国总统特朗普虽下令暂停打击伊朗,但美军仍在执行对霍尔木兹海峡的封锁任务。针对美军瘫痪一艘驶向伊朗油...
“小牌大耍”的底气到底是哪里来... 澎湃首席评论员 李平这两天,“艺人李权哲乘高铁占座事件”在网上引发热议,该艺人参加的活动主办方曾发布...
越南籍船舶南海遇险沉没,中方已... 据凤凰卫视报道,一艘越南船舶7月24日夜间在越南庆和以东220海里附近遇险沉没,船上共62名越南籍人...
李权哲占座、蒙面、装死:娱乐圈... 你买了一张高铁一等座的票,找到自己的位置,18A。有人坐着。你拿出手机看了眼购票记录——没错,18A...
杭州景区咖啡店闯入1条幼蛇,仅... 夏天气温高、湿度大,蛇类活动进入高峰期,千万别被“小蛇无害”的刻板印象骗了!有些幼蛇看着迷你可爱,实...
AI开源公开信签署企业增至50... IT之家 7 月 26 日消息,英伟达、微软、IBM、Meta 等 25 家美国科技企业本周(7 月...
南阳快手短视频代运营企业的服务... 在短视频平台快速发展的背景下,企业通过快手等渠道进行内容运营已成为常见的市场动作。对于希望借助短视频...
普通人该如何跟上科技发展的步伐 这个被称作科技的词汇, 听起来既有宏大之感, 又颇为遥远, 好似仅仅归属于在实验室里专心致志钻研的科...