搜索
查看
编辑修改
首页
UNITY
NODEJS
PYTHON
AI
GIT
PHP
GO
CEF3
JAVA
HTML
CSS
搜索
从前慢现在也慢
这个屌丝很懒,什么也没留下!
关注作者
热门标签
jquery
HTML
CSS
PHP
ASP
PYTHON
GO
AI
C
C++
C#
PHOTOSHOP
UNITY
iOS
android
vue
xml
爬虫
SEO
LINUX
WINDOWS
JAVA
MFC
CEF3
CAD
NODEJS
GIT
Pyppeteer
article
热门文章
1
S3C2440 PWM设置_阐述s3c2440定时器产生pwm波形的工作过程
2
前端笔记:javascript小知识整理_js editor转funciton
3
C语言 printf 的用法总结(完善中)_int printf
4
SpringCloud微服务详解:java开发工程师等级划分_资深java开发工程师 springcloud
5
Docker容器常见面试题_容器面试题
6
真正弄懂存储虚拟化、软件定义存储_软件定义与虚拟化csdn
7
数字图像处理—图像分割—并行边界—利用边缘灰度不连续性(边缘)(边缘与导数)(边界闭合)_并行边界技术
8
【图形学】我理解的伽马校正(Gamma Correction)
9
python3---项目bwapp--对2017年的OWASP TOP 10中A1 injection sql 注入(get/search)进行Python3脚本实现_wapp2.top
10
通过easyExcel实现表格导入导出_easyexcelutil.formtemplatebuild
当前位置:
article
> 正文
Heat入门第一步_heat stack
作者:从前慢现在也慢 | 2024-02-08 19:28:27
赞
踩
heat stack
Heat 类似于AWS的CloudFormation, 是OpenStack Orchestration进程的一个项目,OpenStack Orchestration旨在创建一个人性化的服务去管理整个云架构,服务和应用的生命周期。heat实现了一种自动化的通过简单定义和配置就能实现的云部署方式。可以在heat模板中定义连串相关任务(例如用某配置开几台虚拟机,然后再去在其中一台中安装一个mysql服务,设定相关数据库属性,然后再配置几台虚拟机安装web服务集群等等),然后交由heat,由heat按照一定的顺序执行heat模板中定义的一连串任务。利用heat还可以连接到neutron来帮助编排负载均衡和其他网络功能。
学习heat主要学习heat的template,heat的template描述了所用的所有组件资源以及组件资源之间的关系。 这些资源包括:servers,floating ips, volumes, security groups, users and others. Heat管理这些组件的生命周期,当你需要对现在的部署做一些修改的时候,你只需要对template做一些修改即可。Heat还可以与其他软件管理工具集成比如Puppet以及chef。
安装Heat
选择一个VM镜像,可以选择
http://cloud.fedoraproject.org/fedora-20.x86_64.qcow2F20
,它包含了heat-cfntools包,当运行./stack.sh的时候Heat将会被加载到screen中前缀是h-. 假如需要使用Ceilometer Alarms功能你需要添加Ceilometer功能。需要做的是在devstack的localrc文件中添加如下:
CEILOMETER_BACKEND=mysql
enable_service ceilometer-acompute ceilometer-acentral ceilometer-collector ceilometer-api
enable_service ceilometer-alarm-notifier ceilometer-alarm-evaluator
#sudo apt-get install gitgit-review ctags
复制代码
首先下载devstack
#git clone
https://github.com/openstack-dev/devstack.git
然后准备localrc如下,灵活选择你感兴趣的项目,做减法处理。注意假如你的环境在proxy后面,而proxy又不支持git时,可以将stackrc中的GIT_BASE=${GIT_BASE:-git://git.openstack.org}改为GIT_BASE=${GIT_BASE:-
https://github.com
}
#The localrc is used to deploy a Neutron+OVS+heat+ceilometer+tempest development env
#OFFLINE True if no need to pull necessary packages again
#OFFLINE=True
#RECLONE True if all need a fresh repo environment
#RECLONE=True
ADMIN_PASSWORD=123
MYSQL_PASSWORD=123
RABBIT_PASSWORD=123
SERVICE_PASSWORD=123
SERVICE_TOKEN=123
Q_PLUGIN=openvswitch
disable_service n-net
#enable necessary network comps
ENABLED_SERVICES+=,neutron,q-svc,q-agt,q-dhcp,q-l3,q-meta
#enable advanced services
enable_service q-vpn q-lbaas q-fwaas
#enable tempest for learning tempest
enable_service tempest
#enable heat
enable_service heat h-api h-api-cfn h-api-cw h-eng
#enable ceilometer for Ceilometer Alarms
CEILOMETER_BACKEND=mysql
enable_service ceilometer-acompute ceilometer-acentral ceilometer-collector ceilometer-anotification
enable_service ceilometer-api
enable_service ceilometer-alarm-notifier ceilometer-alarm-evaluator
HOST_IP=<Host-IP>
#VM images
IMAGE_URLS="http://launchpad.net/cirros/trunk/0.3.0/+download/cirros-0.3.0-i386-uec.tar.gz"
#IMAGE_URLS+=",http://uec-images.ubuntu.com/precise/current/precise-server-cloudimg-amd64-disk1.img"
IMAGE_URLS+=",http://cloud.fedoraproject.org/fedora-20.x86_64.qcow2"
http_proxy=<http-proxy>
https_proxy=<https-proxy>
no_proxy=localhost,<Host-IP>
#for IPSec VPNaaS
IPSEC_PACKAGE=openswan
#LOG configure
SCREEN_LOGDIR=/opt/stack/screen-logs
SYSLOG=True
#DEST=/opt/stack/project
复制代码
一切准备就绪,最好先update&upgrade一下,然后运行./stack.sh 可以部署openstack环境了。
模板
https://github.com/openstack/heat-templates
提供一些templates参考例子来展示heat的一些核心功能。heat目前支持两种模板: 与CloudFormatior兼容的cnf目录下的模板以及自研的在hot目录下的HOT模板。 HOT模板基于YAML来展示,下面仅研究HOT模板。
写一个HOT hello world 模板
hello template file:
heat_template_version: 2013-05-23
description: Simple template to deploy a single compute instance
resources:
my_instance:
type: OS::Nova::Server
properties:
key_name: heat_key
image: cirros-0.3.0-i386-uec
flavor: m1.tiny
复制代码
“heat_template_version: 2013-05-23” 是必须制定的,标识当前heat的模板版本。Resources是必须的,其中一个resources内必须至少包含一个resource定义,在该例子中的key_name, image以及flavor都是hardcoded,该问题可以通过input parameters解决。
查找上面模板相关参数的CLI过程如下:
#admin tenant
stack@vm:~/devstack$ . openrc admin admin
#create heat_key keypair
stack@vm:~$ nova keypair-add heat_key
#get available image name
stack@vm:~$ nova image-list
#get instance ttype
stack@vm:~$ nova flavor-list
复制代码
部署模板的CLI过程如下:
#create stack hello-stack with helo HOT
stack@vm:~/hot-files$ heat stack-create -f ./hello hello-stack
#list stack status
stack@vm:~/hot-files$ heat stack-list
#show events status of hello-stack
stack@vm:~/hot-files$ heat event-list hello-stack
#show status of hello-stack
stack@vm:~/hot-files$ heat stack-show hello-stack
复制代码
去硬编码,使模板更加灵活,需要加入parameters属性,这样调用模板时,可以输入相关参数,hello带input的模板如下:
heat_template_version: 2013-05-23
description: Simple template to deploy a single compute instance
parameters:
key_name:
type: string
label: Key Name
description: Name of key-pair to be used for compute instance
image_name:
type: string
label: Image Name
description: Image to be used for compute instance
instance_type:
type: string
label: Instance Type
description: Type of instance (flavor) to be used
outputs:
instance_ip:
description: the ip addresss of the deployed instance_type
value: {get_attr: [my_instance, first_address]}
resources:
my_instance:
type: OS::Nova::Server
properties:
key_name: { get_param: key_name }
image: { get_param: image_name }
flavor: { get_param: instance_type }
复制代码
执行如下:
stack@vm:~/hot-files$ heat stack-create -f ./hello_input -P "key_name=heat_key;instance_type=m1.tiny;image_name=cirros-0.3.0-i386-uec" stack-vm2
stack@vm:~/hot-files$ heat stack-list
声明:
本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:
https://www.wpsshop.cn/w/从前慢现在也慢/article/detail/70577
推荐阅读
article
智能车|自主导航
ROS
Navigation
Stack
功能包 简介与编译_
tf2
_
sensor
...
ros功能包:
Navigation
github 地址:https://github.com/ros-planning/n...
赞
踩
article
实测
ChatGPT
编程
效果被其发现,这波我先站队
Stack
Overflow
_
chatgpt
...
本文对
ChatGPT
解答
编程
问题的情况进行了测试。测试了不同难度的问题,并对
ChatGPT
的回答结果进行了鉴别。...
赞
踩
article
国基北盛
OpenStack
搭建
及
运维
(自动)_
openstack
heat
运维
...
OpenStack
搭建
教程_
openstack
heat
运维
openstack
heat
运维
...
赞
踩
article
OpenStack
高级控制
服务
之使用编配
服务
(
Heat
)实现
自动化
部署云主机_
heat
编排
服务
...
一、编配
服务
的基本概念
Heat
是一个基于模板来
编排
复合云应用的
服务
。
Heat
目前支持两种格式的模板,一种是基于 JSO...
赞
踩
article
openstack
框架搭建云计算平台和各组件
运维
内容包括
mysql
、
keyston
、Glance、N...
1.按以下配置在云平台中
创建
云主机,完成本任务下的相关试题后关闭云主 机。 云主机: (1)名称:IaaS (2)镜像文...
赞
踩
article
[Open
stack
] 使用
heat
模板
创建
stack
_
open
stack
stack
新建栈...
本例需要准备两个yaml文件,一个是
heat
模板,一个是传入的参数,然后执行如下命令
创建
stack
open
stack
-...
赞
踩
article
OpenStack
Heat
源码分析_
heat
源码...
目前还在进行中,开源在 https://github.com/yeasy/openstack_code_
Heat
,欢迎大...
赞
踩
article
openstack
heat
编排
模板
(
HOT
)
指南
_
hot
模版...
openstack
heat
编排
模板
指南
openstack
版本
HOT
hello world
HOT
指南
模板
结构Pa...
赞
踩
article
OpenStack
-
Heat
组件-详解_
openstack
heat
...
1 语法 2 get_resource: 3 4 示例 5 resources: 6 instance_port: 7 ...
赞
踩
article
Openstack
Heat
Template
模板
定义
说明(一)_
heat
模板
中的资源描述可以包含...
本文为openstack 官方wiki的翻译,略有增删 http://docs.openstack.org/user-g...
赞
踩
article
轻松搞定
OpenStack
Heat
如何来
实现
和
支持
编排
...
本文首先简单介绍了
OpenStack
和
OpenStack
Heat
,特别是
Heat
的架构。然后介绍了什么是
编排
...
赞
踩
article
OpenStack
Heat
模板学习...
2019独角兽企业重金招聘Python工程师标准>>> ...
OpenStack
Heat
模板...
赞
踩
相关标签
机器人
自动驾驶
自主导航
chatgpt
前端
javascript
ROS
python
云计算
linux
运维
自动化
openstack
iaas
keystone
glance
nova
源码
heat
HOT
java
大数据