开放式堆栈:集成 NetScaler 实例

NetScaler Application Delivery Management (ADM) 的云调配功能支持将 NetScaler 产品与 OpenStack 平台集成。通过将此功能与 OpenStack 平台结合使用,OpenStack 用户可以使用 NetScaler 的负载平衡功能 (LBaaS)。此后,OpenStack 用户可以在 NetScaler 实例中从 OpenStack 部署其负载平衡器配置。

以下各节简要描述了 NetScaler ADM 和 OpenStack 集成工作流程中的功能。

NetScaler 驱动器用于开放式堆栈中子 LBA

OpenStack Neutron LBAS 插件包括 NetScaler 驱动程序,该驱动程序使 OpenStack 能够与 NetScaler ADM 进行通信。OpenStack 使用此驱动程序将通过 LBaaS API 完成的任何负载平衡配置转发到 NetScaler ADM,NetScaler ADM 将在所需的 NetScaler 实例上创建负载平衡器配置。OpenStack 还使用该驱动程序定期调用 NetScaler ADM,以检索来自 NetScalers 的所有负载平衡配置的不同实体(例如 VIP 和池)的状态。适用于 OpenStack 平台的 NetScaler 驱动程序软件与 NetScaler ADM 捆绑在一起。要下载并安装驱动程序,必须首先安装 NetScaler ADM 并启动应用程序。

相互注册 NetScaler ADM 和 OpenStack

您必须首先在 NetScaler ADM 上注册 OpenStack 信息。指定 OpenStack 控制器 IP 地址和云管理用户凭据,以及 OpenStack NetScaler 驱动程序用户凭据。稍后您可以在 Neutron 配置文件 (neutron.conf) 的 NetScaler_driver 部分中指定相同的登录凭据,这样 OpenStack 中的 NetScaler 驱动程序就能够在 LB 配置期间连接到 NetScaler ADM。

在 OpenStack 和 NetScaler ADM 相互注册后,两者就可以相互通信。此外,OpenStack 用户可以使用他们在 OpenStack 中的现有凭据登录 NetScaler ADM 用户界面,查看他们的 LB 配置在 NetScalers 中的表现。

OpenStack 中的租户

在 OpenStack 中,租户也称为项目。租户是一组用户;租户或项目也可以定义为一组分配给隔离用户组的资源(计算、网络和存储等)。

放置策略

放置策略提供了对用户创建的每个负载平衡器配置中使用的 NetScaler 实例进行决定的灵活性。或者,NetScaler ADM 还提供了基于 OpenStack 租户分配 NetScaler 实例的选项。

服务包

服务包是将策略/SLA、设备或自动置备配置规范及租户/放置策略关联在一起的捆绑包。服务包通常是以提供给租户的隔离策略进行定义。

下面是与服务包相关的一些要点:

  • 租户不能属于多个服务包。

  • 多个租户可以与相同的服务包关联。

  • 在设置为自动配置的服务包中,只能从一种平台类型(在 SDX 平台上或 OpenStack 计算平台上)创建虚拟 NetScaler 实例。

LBaaS V1 和 LBaaS V2 支持的功能

虽然 OpenStack 中的 LBaaS V1 驱动程序支持从 OpenStack Horizon 用户界面进行操作,但 LBaaS V2 驱动程序仅支持命令行操作。

下面的列表显示了 OpenStack 上 LBaaS V1 和 LBaaS V2 支持的功能:

  • LBaaS V1

    • 负载平衡
  • LBaaS V2

    • 负载平衡

    • SSL 使用 OpenStack 中的密钥管理器 巴比肯管理的证书卸载

    • 证书捆绑包(包括中间证书颁发机构)

    • SNI 支持

本文档提供关于以下内容的信息:

用例场景

以下用例场景解释了 NetScaler ADM 与 OpenStack 平台集成的工作流程:

企业 Example-Cloud-Provider 已使用 OpenStack 组件来设置一个云,为其租户提供基础结构。Steve 是此云提供商的管理员,而 Tom 是 Example-Cloud-Provider 的云基础结构的租户。汤姆的组织,例如,Sportsonline.com,需要两个服务器 S1 和 S1,而汤姆还需要一个专用的 NetScaler 设备来平衡 OpenStack 平台上的服务器 S1 和 S2 之间的流量。

为了满足这一要求,史蒂夫必须同时安装和配置 OpenStack 和 NetScaler ADM,并为彼此兼容做好准备。Steve 必须在 OpenStack 中创建名为 Example-SportsOnline 的租户帐户,然后为该租户帐户分配资源。Steve 还必须为 Example-SportsOnline 创建不同的登录凭据(用户)用于管理器其资源和配置。Tom 现在可以在 OpenStack 上创建两个服务器 S1 和 S2 以管理其组织中的流量。  

Steve 必须向 NetScaler ADM 注册 OpenStack 的详细信息,然后在 OpenStack 网络组件 Neutron 中配置 NetScaler LBaaS 驱动程序。注册完成后,NetScaler ADM 会显示 OpenStack 中所有租户的详细信息。Steve 可以从列表中选择想要 NetScaler LBaaS 功能的 example-SportsOnline,然后配置 Tom 在 NetScaler ADM 中为他的负载平衡器配置分配专用 NetScaler。

为此,Steve 可以使用 NetScaler ADM 用户界面在 OpenStack 的计算层 (Nova) 上预置 NetScaler VPX 实例,也可以让 MAS 在 Tom 在 OpenStack 中进行 LB 配置时按需自动配置 NetScaler VPX 实例。无论哪种情况,NetScaler ADM 都会管理 VPX 实例。为了实现这一目标,Steve 在 NetScaler ADM 中创建了一个服务包,并在服务包中定义了与 Tom 达成的服务包中的条件。例如,Steve 选择“专用”隔离策略来提供专用实例用于为 Tom 提供负载平衡器配置。即,Steve 在服务包中为 Tom 选择非共享实例。之后他为服务包分配许多 NetScaler VPX 实例,并与在服务包中要求专用 NetScaler 的其他租户一起关联 Example-SportsOnline。因此,当 Tom 执行他的第一个负载平衡器配置时,NetScaler ADM 将服务包中的一个 NetScaler VPX 实例分配给 Example-SportsOnline,并将他的配置部署到那个 NetScaler 中。

Tom 现在可以通过使用 OpenStack LBaaS/UI 创建池、虚拟 IP (VIP) 及运行状况监视器来创建负载平衡配置。OpenStack 中的池和 VIP 部署为 NetScaler 实例上的服务组和虚拟服务器。Tom 还可以创建运行状况监视器来监视服务器,并将应用程序流量仅发送给在任何时间点都处于“UP”(运行)状态且可从 NetScaler 访问的那些服务器。

在 OpenStack 中创建的负载平衡配置现在实施在 NetScaler 实例上。完全配置后,NetScaler VPX 实例接管负载平衡功能,并开始接受应用程序流量并平衡 Tom 创建的服务器 S1 和 S2 之间的流量。  

NetScaler ADM 与 OpenStack 工作流程集成

下面的流程图说明了在配置 LBaaS V1 和 LBaaS V2 时需要遵循的工作流。

LBaS V1 和 V2 配置工作流

开放式堆栈:集成 NetScaler 实例