与 OpenStack Heat 服务集成
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 实例上配置高级应用程序交付控制器 (ADC) 功能。
NetScaler StyleBooks
NetScaler Application Delivery Management (ADM) StyleBooks 可用于创建和配置 NetScaler 功能。与 Heat 模板一样,StyleBooks 也使用 YAML 编写。可以为每个功能创建单独的 StyleBooks,并且单个 StyleBooks 可用于在多个 NetScaler 实例上部署配置。
在 NetScaler 与 OpenStack 集成期间,NetScaler ADM 会将所有 NetScaler ADM StyleBooks 作为资源发布到 Heat 服务中。这包括 NetScaler ADM 附带的 StyleBooks 以及用户稍后创建的 StyleBooks。Heat 模板允许您使用这些 StyleBooks 资源配置 NetScaler 的高级功能。
使用 Heat 配置 NetScaler 实例的工作流程
以下流程图说明了部署 Heat 堆栈的工作流程:

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

Heat 模板示例:
下图显示了用 YAML 定义的 Heat 模板的结构,并指出了作为 Heat 资源导入的 StyleBooks 资源和 NetScaler 网络资源。

有关 Heat 服务以及如何创建模板的更多信息,请参阅 OpenStack Heat 文档。