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

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

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

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

注意

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

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

您必须首先选择一个表达式来匹配稍后要配置的根对象。根对象可以是 LBaaS V1 中的池对象,也可以是 LBaaS V2 中的负载平衡器对象。因此,NetScaler ADM 基于策略的放置支持 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 ADM 主页中,导航到 Orchestration > Cloud Orchestration > Placement Policy,然后单击 Add

  2. Add Placement Policy 页面上,设置以下参数:

    1. Name - 为放置策略键入一个名称

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

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

    注意

    创建多个策略时,请确保这些策略是相互排斥的。

    Add placement policy

  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

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

      Service Package

  6. 单击 Continue

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

    Service Package - Least configured placement method

  8. 单击 Continue

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

    Assign placement policies

    注意

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

    “Tenant admin is not part of any Service Package and there is no default Service Package”。

  10. 单击 Continue,然后单击 Done

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