灵活的基于策略的设备分配

NetScaler Console 根据与租户达成的 SLA,将 NetScaler 虚拟实例分配给租户。将虚拟实例分配给租户会在实例和租户之间创建一对一关系,其中一个租户在数据中心内只能分配到一个服务包。

在某些情况下,租户可能需要多个实例,或者实例的分配可能不是基于租户作为标准,而是基于其他因素,例如网络 ID 或应用程序。在这种情况下,NetScaler Console 允许您根据用户定义的表达式精确定义放置策略,以便将负载平衡器配置分配给其中一个托管实例。

放置策略提供了灵活性,可用于决定用户创建的每个负载平衡器配置中使用的 NetScaler 实例。NetScaler Console 中灵活的放置策略为现有基于租户分配 NetScaler 实例的方法提供了一个附加选项。

注意

您可以手动将实例分配给租户,也可以使用放置策略根据创建的表达式分配实例。您不能在单个服务包上同时使用这两种方法。

放置策略基于在主要 LBaaS 配置对象(例如池和负载平衡器)的属性上定义的布尔表达式。NetScaler Console 中的放置策略用户界面提供了预定义的表达式,您可以从中选择以定义自定义策略。您可以为不同的表达式创建多个放置策略。因此,每个租户可以拥有由其要求定义的多个设备。

您必须首先选择一个表达式来匹配稍后要配置的根对象。对于 LBaaS V1,根对象可以是池对象;对于 LBaaS V2,根对象可以是负载平衡器对象。因此,NetScaler Console 基于策略的放置支持 LBaaS V1 和 V2 API。这些放置策略随后与服务包关联。一旦根对象放置在实例中,模型中的后续对象就会添加到该实例中。

例如,池配置对象可以具有以下属性:

  • tenant_id

  • name

  • description

  • protocol

  • lb_method

  • subnet_id

  • subname_name

  • admin_state_up

  • status

  • network_id

  • network_type

  • segmentation_id

  • subnet_cidr

  • subnet_gateway_ip

以下示例显示了一些使用池属性为策略定义表达式的表达式:

  1. 基于池名称的策略表达式

    config["pools"]["name"] =="high-end-pool"
    <!--NeedCopy-->
    
  2. 基于池子网名称的策略表达式

    config ["pools"]["subnet_name"] == "us-west-payment-subnet1"
    <!--NeedCopy-->
    
  3. 基于负载平衡器子网名称的策略表达式

    config["loadbalancers"]["subnet_name"] == "mas-subnet"
    <!--NeedCopy-->
    

添加放置策略

  1. 在 NetScaler Console 主页中,导航到 Orchestration > Cloud Orchestration > Placement Policy,然后单击 Add(添加)。

  2. Add Placement Policy(添加放置策略)页面上,设置以下参数:

    1. Name(名称)- 键入放置策略的名称

    2. Frequently Used Expressions(常用表达式)- 从下拉列表中选择一个表达式。

    3. Expression(表达式)- 此字段中会根据您在前面字段中选择的表达式填充逻辑(布尔)表达式。根据需要编辑字段名称。

    注意

    创建多个策略时,请确保这些策略彼此互斥。

    添加放置策略

  3. 单击 OK(确定)。

  4. 导航到 Orchestration > Cloud Orchestration > OpenStack > Service Packages,然后单击 Add(添加)。

  5. Service Package(服务包)页面上,设置以下参数:

    1. Name(名称)- 键入服务包的名称

    2. Isolation Policy(隔离策略)- 选择 Shared(共享)策略

      在共享隔离策略中,租户的负载平衡器配置与分配给该租户的设备中的其他租户的负载平衡器配置共存。

    3. Device Type(设备类型)- 选择预置的 NetScaler VPXNetScaler MPX

      如果要将租户的所有负载平衡器配置绑定到一个设备,请选择 Allot one device(分配一个设备)。如果要根据放置策略将租户的每个负载平衡器配置分布在多个设备上,请选择 Allot many devices(分配多个设备)。

      注意

      NetScaler SDX 必须仅作为 NetScaler VPX 实例添加到服务包中,因为 NetScaler SDX 上预置了 NetScaler VPX。

    4. Placement Method(放置方法)- 选择 Least Configured(最少配置)

      选择“最少配置”时,将选择当时配置的池成员数量最少的 NetScaler 实例作为租户的设备。

      服务包

  6. 单击 Continue(继续)。

  7. Assign Devices(分配设备)部分中,将可用的 NetScaler 设备添加到已配置的设备列表中。

    服务包 - 最少配置放置方法

  8. 单击 Continue(继续)。

  9. Assign Placement Policies/OpenStack Tenants(分配放置策略/OpenStack 租户)部分中,添加您之前创建的放置策略。

    分配放置策略

    注意

    如果找不到策略,则会恢复回退机制,NetScaler Console 会根据租户分配 NetScaler 实例。如果租户不属于任何服务包,NetScaler Console 将显示一条错误消息,指出:

    “租户 admin 不属于任何服务包,并且没有默认服务包”。

  10. 单击 Continue(继续),然后单击 Done(完成)。

灵活的基于策略的设备分配