与 OpenStack Heat 服务集成

Last published : Oct 06, 2026
OpenStack Neutron LBaaS 为应用程序提供核心负载平衡服务,例如负载平衡、SSL 卸载和内容切换。LBaaS 通过 REST API 进行管理,该 API 允许租户发出 REST 调用来创建、更新和删除 LBaaS 对象。由于 LBaaS 提供负载平衡服务,因此在编排过程中不允许使用更高级的 NetScaler 功能。NetScaler Heat 插件克服了这一限制。

Heat 编排服务

OpenStack Heat 编排服务允许基于模板部署复杂的云应用程序。Heat 编排模板 (HOT) 以人类可读写且可通过版本控制工具管理的文本文件形式描述云应用程序的基础设施。YAML 是一种结构化语言,用于编写这些模板。HOT 模板允许您创建大多数 OpenStack 资源类型,并指定其中定义的资源之间的关系。NetScaler Heat 插件允许您在任何 NetScaler 实例上配置高级 NetScaler 功能。

NetScaler StyleBooks

NetScaler Console StyleBooks 可用于创建和配置 NetScaler 功能。与 Heat 模板一样,StyleBooks 也采用 YAML 编写。可以为每个功能创建单独的 StyleBooks,并且可以使用单个 StyleBooks 在多个 NetScaler 实例上部署配置。
在 NetScaler 与 OpenStack 集成期间,NetScaler Console 会将所有 NetScaler Console StyleBooks 作为资源发布到 Heat 服务中。这包括 NetScaler Console 随附的 StyleBooks 以及用户稍后创建的 StyleBooks。Heat 模板允许您使用这些 StyleBooks 资源配置 NetScaler 的高级功能。

使用 Heat 配置 NetScaler 实例的工作流程

以下流程图说明了部署 Heat 堆栈的工作流程:
使用 Heat 配置 NetScaler 实例的工作流程
作为云管理员,执行以下任务:
在 OpenStack 中配置 Heat 服务:
  1. 下载适用于 OpenStack 的 NetScaler 捆绑包
    在 OpenStack 中安装 NetScaler 捆绑包。在 NetScaler Console 中,导航到 Downloads 并下载 NetScaler 驱动程序捆绑包,解压捆绑包,然后将捆绑包中 Heat 文件夹的内容复制到 OpenStack 中的 Heat 引擎资源目录。目录路径如下:             /opt/stack/heat/heat/engine/resources/netscaler_resources
  2. 在 heat.conf 文件中创建“netscaler_plugin”部分,并更新该部分中的以下参数:
    1. 当通信方式为 HTTP 时,参数更新如下:
      NMAS_BASE_URI=<http://10.146.103.45:80>
      NMAS\_USERNAME=<openstack_driver_username>
      NMAS\_PASSWORD=<openstack_driver_password>
    2. 当通信方式为 HTTPS 时,参数更新如下:
      NMAS_BASE_URI=https://common_name_used_in_certificate
      NMAS\_USERNAME=\<openstack\_driver\_username
      NMAS\_PASSWORD=\&lt;openstack\_driver\_password\>
      SSL\_CERT\_VERIFY=\&lt;True\_or\_False\>
      CERT\_FILE\_PATH=\&lt;path\_of\_the\_certificate\_file\>
      如果用户将 ssl\_cert\_verify 设置为“False”,NetScaler Console 会在请求调用中发送 verify=False,这将禁用 SSL 证书验证。如果 ssl\_cert\_verify 设置为“True”且 cert\_file\_path 条目存在,NetScaler Console 会在请求的 verify 参数中发送此路径,否则 NetScaler Console 会发送 verify=True。
      注意
      要在“高可用性”模式下部署 NetScaler Console,请更新 heat.conf 文件中的以下参数:
      NMAS\_BASE\_URI=\<前端虚拟服务器的IP地址\>
  3. 重新启动 OpenStack 中的 Heat 服务。
    当您重新启动 OpenStack 中的 NetScaler Heat 服务时,所有已定义的 NetScaler Console StyleBook 都将作为资源导入到 Heat 中。此外,NetScaler 网络资源和证书资源也将作为 NetScaler Heat 资源导入到 OpenStack 中。
  4. 将 NetScaler Console 注册到 OpenStack。
    1. 在 NetScaler Console 中,导航到 编排 \> 云编排 \> OpenStack,然后单击 配置 OpenStack 设置。
    2. 在 Configure OpenStack Settings 页面中,您可以设置参数来配置 OpenStack。您有两个选项:Default 和 Customized。
    3. 如果 OpenStack 服务在默认端口上运行,请选择 Default。输入以下参数:
      1. OpenStack 控制器 IP 地址
      2. 管理员用户名
      3. 密码
      4. OpenStack 管理租户
      5. NetScaler 驱动程序和 Heat 密码
      注意
      这是您在 heat.conf 文件中输入的相同密码 (NMAS\_PASSWORD)。
  5. 创建服务包并与您的租户定义 SLA。
    在 OpenStack 注册期间,NetScaler Console 中会为每个用户创建一个租户,租户信息由 LBaaS 驱动程序和 Heat 插件使用。Heat 插件使用此信息联系 NetScaler Console,将 StyleBook 作为 Heat 资源导入到 OpenStack 中。
    注意
    有关在 NetScaler Console 和 OpenStack 中创建服务包和其他预配置任务的更多信息,请参阅 将 NetScaler Console 与 OpenStack 平台集成。
  6. 请注意,NetScaler Console 中的所有相关 StyleBook 都已作为资源导入 OpenStack Heat。此外,请注意 NetScaler 网络资源和 NetScaler 证书资源已作为资源导入 OpenStack Heat。
    注意
    目前,您只能使用 NetScaler Console 附带的 StyleBook。
    您的租户现在可以在 OpenStack 中创建 Heat 模板,输入所需的 Heat 参数值,并部署 Heat 堆栈。部署 Heat 堆栈后,配置将推送到 NetScaler Console,并配置所需的 NetScaler 实例。
准备 Heat 模板并启动 Heat 堆栈:
  1. 在 OpenStack 中,租户可以使用 Heat 资源创建 Heat 编排模板 (HOT)。
  2. 在 OpenStack Horizon 中,租户管理员可以导航到 Project \> Orchestration \> Stacks 以创建 Heat 模板并启动 Heat 堆栈。创建 HOT 的方法有两种:
    • 文件 - 从本地目录中选择更新的模板
    • 直接输入 - 从窗口中的模板复制并粘贴 YAML 内容
    注意
    成功部署堆栈后,租户可以使用“更改堆栈模板”来更新堆栈。但是,在创建堆栈时最初提供的子网信息和虚拟 IP 地址 (VIP) 无法修改。
    租户部署堆栈后,导航到 NetScaler Console 中的 Orchestration \> Cloud Orchestration \> OpenStack \> Requests 以查看任务列表。此外,导航到 NetScaler Console 中的 Applications \> Configuration 以查看 NetScaler 实例是否已成功配置为 StyleBook 配置包的形式。
NetScaler Console StyleBook 示例:
下图展示了 NetScaler Console StyleBooks 的构建示例,并简要解释了其组件。有关 NetScaler Console StyleBooks 以及如何使用随附 StyleBooks 的更多信息,请参阅 StyleBooks。
示例 StyleBooks
Heat 模板示例:
下图显示了 YAML 中定义的 Heat 模板结构,并指向作为 Heat 资源导入的 StyleBooks 资源和 NetScaler 网络资源。
示例 Heat 模板
有关 Heat 服务以及如何创建模板的更多信息,请参阅 OpenStack Heat documentation。