OpenStack:集成 NetScaler 实例
NetScaler Application Delivery Management (ADM) 的云编排功能可将 NetScaler 产品与 OpenStack 平台集成。通过将此功能与 OpenStack 平台结合使用,OpenStack 用户能够利用 NetScaler 的负载平衡功能 (LBaaS)。此后,OpenStack 用户可以在 NetScaler 实例中部署其来自 OpenStack 的负载平衡器配置。
以下各节简要介绍了 NetScaler® ADM 和 OpenStack 集成工作流中的功能。
适用于 OpenStack Neutron LBaaS 的 NetScaler 驱动程序
OpenStack Neutron LBaaS 插件包含一个 NetScaler 驱动程序,可使 OpenStack 能够与 NetScaler ADM 通信。OpenStack 使用此驱动程序将通过 LBaaS API 完成的任何负载平衡配置转发到 NetScaler ADM,NetScaler ADM 会在所需的 NetScaler 实例上创建负载平衡器配置。OpenStack 还使用该驱动程序定期调用 NetScaler ADM,以从 NetScaler 检索所有负载平衡配置的不同实体(例如 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 配置在 NetScaler 中的运行情况。
OpenStack 中的租户
在 OpenStack 中,租户也称为项目。租户是一组用户;租户或项目也可以定义为分配给一组独立用户的资源(计算、网络、存储等)集。
放置策略
放置策略提供了灵活性,可用于决定在用户创建的每个负载平衡器配置中使用的 NetScaler 实例。或者,NetScaler ADM 还提供了一个选项,可根据 OpenStack 租户分配 NetScaler 实例。
服务包
服务包是将策略/SLA、设备或自动预配配置规范以及租户/放置策略捆绑在一起的包。服务包通常根据提供给租户的隔离策略进行定义。
以下是与服务包相关的一些要点:
-
一个租户不能属于多个服务包。
-
多个租户可以与同一个服务包关联。
-
在设置为自动预配的服务包中,只能从一种平台类型(在 SDX 平台或 OpenStack Compute 平台上)创建虚拟 NetScaler 实例。
LBaaS V1 和 LBaaS V2 支持的功能
OpenStack 中的 LBaaS V1 驱动程序支持来自 OpenStack Horizon 用户界面的操作,LBaaS V2 驱动程序仅支持命令行操作。
以下列表显示了 OpenStack 上 LBaaS V1 和 LBaaS V2 支持的功能:
-
LBaaS V1
- 负载平衡
-
LBaaS V2
-
负载平衡
-
由 OpenStack 中的密钥管理器 Barbican 管理证书的 SSL 卸载
-
证书捆绑包(包括中间证书颁发机构)
-
SNI 支持
-
本文档提供有关以下内容的信息:
用例场景
以下用例场景解释了将 NetScaler ADM 与 OpenStack 平台集成的整个工作流:
一家名为 Example-Cloud-Provider 的企业已使用 OpenStack 组件设置了一个云,以向其租户提供基础架构。Steve 是此云提供商的管理员,而 Tom 是 Example-Cloud-Provider 云基础架构的租户。Tom 的组织 Example-SportsOnline.com 需要两台服务器 S1 和 S2,Tom 还需要一个专用的 NetScaler 设备来在 OpenStack 平台上平衡服务器 S1 和 S2 之间的流量。
为了满足此要求,Steve 必须安装和配置 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 实例,或者在 Tom 在 OpenStack 中执行 LB 配置时,启用 MAS 按需自动预配 NetScaler VPX 实例。无论哪种情况,NetScaler ADM 都会管理 VPX 实例。为了实现此目的,Steve 在 NetScaler ADM 中创建了一个服务包,并定义了与 Tom 在 SLA 中商定的服务包条件。例如,Steve 选择“专用”隔离策略,以提供一个专用实例来为 Tom 提供负载平衡器配置。也就是说,Steve 在服务包中为 Tom 选择了一个非共享实例。然后,他将许多 NetScaler VPX 实例分配给服务包,并将 Example-SportsOnline 以及其他需要专用 NetScaler 的租户与该服务包关联起来。因此,当 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 时需要遵循的工作流。
