Heat 和 DevStack

Heat 已完全集成到 DevStack 中。这是一种方便的方式来试用或开发 Heat,同时配合其他 OpenStack 项目的当前开发状态。DevStack 上的 Heat 在 Ubuntu 和 Fedora 上均可工作。

这些说明假定您已经拥有一个可以启动基本实例的正常工作的 DevStack 安装。

配置 DevStack 以启用 Heat

Heat 在 Icehouse 和 Juno 版本中默认配置在 devstack 上。

较新版本的 OpenStack 需要在 devstack 的 local.conf 中启用 Heat 服务。将以下内容添加到 [[local|localrc]] 部分的 local.conf

[[local|localrc]]

#Enable heat services
enable_service h-eng h-api h-api-cfn

自 Newton 版本发布以来,Heat 可作为 devstack 插件使用。要启用该插件,请将以下内容添加到 [[local|localrc]] 部分的 local.conf

[[local|localrc]]

#Enable heat plugin
enable_plugin heat https://opendev.org/openstack/heat

要使用稳定分支,请确保 devstack 位于该分支上,并指定分支名称以启用插件,例如

enable_plugin heat https://opendev.org/openstack/heat stable/newton

自动下载并注册 Heat 可以启动的虚拟机镜像也会很有用。为此,请将以下内容添加到 [[local|localrc]] 部分的 local.conf

IMAGE_URL_SITE="https://download.fedoraproject.org"
IMAGE_URL_PATH="/pub/fedora/linux/releases/37/Cloud/x86_64/images/"
IMAGE_URL_FILE="Fedora-Cloud-Base-37-1.7.x86_64.qcow2"
IMAGE_URLS+=","$IMAGE_URL_SITE$IMAGE_URL_PATH$IMAGE_URL_FILE

可以指定任何云镜像的 URL,但来自 F20 的 Fedora 镜像包含 heat-cfntools 包,该包是某些 Heat 功能所必需的。

这是所有必需的配置。当您运行 ./stack.sh 时,Heat 进程将在 screen 中启动,标签前缀为 h-

配置 DevStack 以启用 ceilometer 和 aodh(如果使用警报)

要使用 aodh 警报,您需要在 devstack 中启用 ceilometer 和 aodh。将以下行添加到 [[local|localrc]] 部分的 local.conf 将启用这些服务

CEILOMETER_BACKENDS=gnocchi
enable_plugin ceilometer https://opendev.org/openstack/ceilometer
enable_plugin aodh https://opendev.org/openstack/aodh

配置 DevStack 以启用 OSprofiler

将以下行添加到 [[local|localrc]] 部分的 local.conf 将把 profiler 通知程序添加到您的 ceilometer

CEILOMETER_NOTIFICATION_TOPICS=notifications,profiler

在 /etc/heat/heat.conf 中启用 profiler

$ echo -e "[profiler]\nenabled = True\n"\
"trace_sqlalchemy = True\n"\
"hmac_keys = SECRET_KEY\n"\
>> /etc/heat/heat.conf

使用 –profile SECRET_KEY 运行任何命令

$ heat --profile SECRET_KEY stack-list
# it will print <Trace ID>

获取带有跟踪信息的漂亮 HTML

$ osprofiler trace show --html <Trace ID>

请注意,osprofiler 应该使用管理员用户名和租户运行。

创建堆栈

现在您已经拥有一个可用的 Heat 环境,您可以转到 创建您的第一个堆栈