与 OpenStack Heat 服务集成

OpenStack Neutron LBaaS 面向应用程序支持核心负载平衡服务,例如,负载平衡、SSL 卸载和内容交换。LBAS 通过 REST API 进行管理,而且该 API 允许租户进行 REST 调用以创建、更新和删除 LBAS 对象。由于 LBaaS 提供负载平衡服务,因此在调配过程中不允许使用更高级的 NetScaler 功能。NetScaler Heat 插件消除了此限制。

Heat 调配服务

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

NetScaler 样书

NetScaler Application Delivery Management (ADM) 样书可用于创建和配置 NetScaler 功能。与 Heat 模板一样,样书也是使用 YAML 编写的。可以为每个功能创建单独的样书,可以使用一个样书在多个 NetScaler 实例上部署配置。

在 NetScaler 与 OpenStack 集成期间,NetScaler ADM 将所有 NetScaler ADM样书作为 Heat 服务中的资源发布。这既包括 NetScaler ADM 附带的样书,也包括用户稍后创建的 样书。Heat 模板允许您使用这些样书资源配置 NetScalers 的高级功能。

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

以下流程图说明了部署 Heat 堆栈的工作流:

使用 Heat 配置 ADC 实例的工作流

以云管理员身份执行以下任务:

要在 OpenStack 中配置 Heat 服务:

  1. 下载适用于 OpenStack 的 NetScaler 捆绑包

    在 OpenStack 中安装 NetScaler 捆绑包。在 NetScaler ADM 中,导航到 下载 并下载 NetScaler 驱动程序包,解压缩包,然后将包中 Heat 文件夹的内容复制到 OpenStack 中的 Heat 引擎资源目录中。目录路径如下所示:             /opt/stack/heat/heat/engine/resources/netscaler_resources

  2. 在 heat.conf 文件中创建一个“netscaler_plugin”部分,然后更新该部分中的以下参数:

    [netscaler_plugin]

    1. 当通信是 HTTP 时,参数将按如下方式更新:

      NMAS_BASE_URI=<http://10.146.103.45:80>

      NMAS_USERNAME=

      NMAS_PASSWORD=

    2. 当通信为 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>

      如果用户将 ssl_cert_verify 设置为“False”,则 NetScaler ADM 会在请求调用中发送 verify=False,这将禁用 SSL 证书验证。如果将 SSL_cert_验证设置为“True”并且存在证件路径条目,则 NetScaler ADM 会在请求的验证参数中发送此路径,否则 NetScaler ADM 会发送“验证”= True。

      注意

      :要在“高可用性”模式下部署 NetScaler ADM,请在热 .conf 文件中更新以下参数:

      NMAS_BAS_URI = <IP address of the front-end virtual server>

  3. 在 OpenStack 中重新启动加热服务。

    当您在 OpenStack 中重启 NetScaler Heat 服务时,所有定义的 NetScaler ADM样书都将作为资源导入到 Heat 中。此外,NetScaler 网络资源和证书资源也作为 NetScaler Heat 资源导入 OpenStack。

  4. 在 OpenStack 上注册 NetScaler ADM。

    1. 在 NetScaler ADM 中,导航到“调配”>“调配”>“OpenStack”,然后单击“配置**OpenStack 设置”。**

    2. 配置 OpenStack 设置 页面中,您可以设置用于配置 OpenStack 的参数。此处有两个选项:“Default”(默认)和“Customized”(自定义)。

    3. 如果 OpenStack 服务在默认端口上运行,请选择默认。 输入以下参数:

      1. OpenStack 控制器 IP 地址

      2. 管理员用户名

      3. 密码

      4. 开放式堆栈管理租户

      5. NetScaler 驱动程序和 Heat 密码

      注意

      这与您在 heat.conf 文件中输入的密码 (NMAS_PASSWORD) 相同。

  5. 创建服务包并与租户定义 SLA。

    在 OpenStack 注册期间,在 NetScaler ADM 中为每个用户创建一个租户,LbaaS 驱动程序和 Heat 插件都使用租户信息。“热量”插件使用此信息与 NetScaler ADM 联系,将样书作为热量资源导入 OpenStack 中。

    注意

    有关在 NetScaler ADM 和 OpenStack 中创建服务包和其他预配置任务的更多信息,请参阅 将 NetScaler ADM 与 OpenStack 平台集成。

  6. 注意 NetScaler ADM 中的所有相关样书都作为资源导入到 OpenStack Heat 中。此外,请观察 NetScaler 网络资源和 NetScaler 证书资源已作为资源导入 OpenStack 热量。

    注意

    目前,您只能使用 NetScaler ADM 附带的 样书。

    您的租户现在可以在 OpenStack 中创建 Heat 模板、输入所需 Heat 参数的值以及部署 Heat 堆栈。部署 Heat 堆栈后,将配置推送到 NetScaler ADM,并配置所需的 NetScaler 实例。

要准备热火模板并启动 Heat 堆栈,请执行以下操作:

  1. 在 OpenStack 中,租户可以使用 Heat 资源创建 Heat 调配模板 (HOT)。

  2. 在 OpenStack Horizon 中,租户管理员可以导航到项目 >调配 >堆栈 来创建 Heat 模板并启动 Heat Stack。创建 HOT 的方法有两种:

    • 文件 -从本地目录中选择更新的模板
    • 直接输入 -将模板中的 YAML 内容复制并粘贴到窗口中

    注意

    成功部署堆栈后,租户可以使用更改堆栈模板更新堆栈。但不能修改创建堆栈时最初提供的子网信息和虚拟 IP 地址 (VIP)。

    租户部署堆栈后,导航到“调配”>“云调配”>“OpenStack”>“NetScaler ADM 中的请求”,以观察任务列表。此外,在 NetScaler ADM 中导航到 应用程序”> 配置”,观察是否已成功以 StyleBooks 配置包的形式配置 NetScaler 实例。

NetScaler ADM 样书的示例:

下图显示了如何构建 NetScaler ADM 样书的示例,并简要说明了这些组件。有关 NetScaler ADM 样书以及如何使用附带的样书的详细信息,请参阅 样书

示例样书

热模板示例:

下图显示了 YAML 中定义的“热量”模板的结构,并指向作为“热量”资源导入的样书资源和 NetScaler 网络资源。

示例 Heat 模板

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

与 OpenStack Heat 服务集成