ADC

Orden de prioridad para servicios de equilibrio de carga

La función de orden de prioridad para los servicios le permite priorizar el orden de los servicios o grupos de servicios en función de las preferencias de selección de equilibrio de carga. Puede configurar el orden de prioridad si hace lo siguiente:

  • Enlazar un servicio a un servidor virtual de equilibrio de carga.
  • Enlazar un grupo de servicios a un servidor virtual de equilibrio de carga.
  • Enlaza un miembro del grupo de servicios al grupo de servicios de equilibrio de carga.

Actualmente, puede configurar el orden de prioridad de los servicios mediante los siguientes enfoques. Sin embargo, estos enfoques tienen las siguientes limitaciones:  

  • Configuración de una cadena de servidores virtuales de reserva: El número de líneas de configuración es alto y debe ejecutar el comando show varias veces para conocer el estado de todos los servicios LB para cada servidor virtual.

  • Configuración de la ubicación preferida: debe crear entradas de ubicación para todos los puntos finales de la aplicación.

La función de orden de prioridad para los servicios aborda las limitaciones anteriores con menos comandos de configuración y le ayuda a realizar la configuración de ubicación preferida sin la necesidad de representar la ubicación de todas las direcciones IP de los servicios de equilibrio de carga.

Configurar el orden de prioridad para los servicios de equilibrio de carga

Para configurar el orden de prioridad de los servicios de equilibrio de carga, el-order <number>parámetro se agrega a los comandos bind.

Nota:

El número de pedido más bajo tiene la prioridad más alta.

Comando:

bind lb vserver <vservername> <servicename/servicegroupname> -order <number>

Por ejemplo, considere un conjunto de servicios que están enlazados a un servidor virtual de equilibrio de carga (vs1). Con el - order <number>parámetro, puede priorizar el orden de selección de los servicios de la siguiente manera:

  • Conjunto 1 (s1, s2) vinculado a vs1 — orden 1
  • Conjunto 2 (s3, s4) vinculado a vs1 — orden 2
  • Conjunto 3 (s5, s6) vinculado a vs1 — orden 3

Después de vincular los servicios a vs1 y cuando vs1 recibe el tráfico del cliente, el orden de selección de los servicios es el siguiente:

  • El servidor virtual (vs1) selecciona primero los servicios del conjunto 1 (s1 y s2) con el número de pedido 1, porque a este conjunto se le asigna el número de pedido más bajo. De forma predeterminada, el número de pedido más bajo tiene la prioridad más alta.
  • Si todos los servicios del conjunto 1 están DESACTIVADOS, vs1 selecciona el conjunto 2 (s3 y s4) con el número de pedido 2.
  • Si todos los servicios en el conjunto 1 y el conjunto 2 están inactivos, vs1 selecciona el conjunto 3 (s5 y s6) con el número de pedido 3.

Configurar el orden de prioridad para los servicios de equilibrio de carga mediante la CL

Para configurar el orden de prioridad de los servicios de equilibrio de carga, escriba los siguientes comandos en el símbolo del sistema:

  1. Agregue un servidor virtual LB.

    add lb vserver vs1 HTTP 1.1.1.1 80

  2. Agregue los servicios LB.

    add service s[1-6] 2.2.2.[1-6] HTTP 80

  3. Establezca el número de pedido y vincule los servicios al servidor virtual LB.

    bind lb vserver vs1 s1 -order 1

    bind lb vserver vs1 s2 -order 1

    bind lb vserver vs1 s3 -order 2

    bind lb vserver vs1 s4 -order 2

    bind lb vserver vs1 s5 -order 3

    bind lb vserver vs1 s6 -order 3

Configurar el orden de prioridad para los servicios de equilibrio de carga mediante la interfaz

Requisitos previos:

  • Ha creado un servidor virtual de equilibrio de carga.
  • Ha creado servicios.

Para configurar el orden de prioridad de los servicios de equilibrio de carga y vincularlos al servidor virtual, haga lo siguiente:

  1. Vaya aAdministración del tráfico > Equilibrio de carga > Servidores virtualesy haga doble clic en el servidor virtual de equilibrio de carga.

  2. En Servidor virtual de equilibrio de carga, en la sección Servicios y grupos de servicios, haga clic en Enlace de servicio de servidor virtual de equilibrio de carga.

  3. En el cuadro de diálogoEnlace de servicio de servidor virtual de equilibrio de carga, haga clic enAgregar enlace.

  4. En el cuadrode diálogo Enlacede servicios, seleccione un servicio.

  5. Escriba un número en el campo Pedidopara establecer el orden de prioridad del servicio.

  6. Haz clic enVincular.

  7. Repita los pasos del 1 al 6 para configurar un número de orden de prioridad diferente para diferentes servicios.

Configurar el orden de prioridad para los servicios de equilibrio de carga mediante comandos de directiva LB

De forma predeterminada, el número de pedido más bajo tiene la prioridad más alta. Sin embargo, puede diferir este comportamiento predeterminado mediante los nuevos comandos de acción y directiva de LB. Puede configurar el orden de selección de servicios en función del tráfico de clientes entrantes o los datos de los clientes.

Por ejemplo, considere un conjunto de servicios que están enlazados a un servidor virtual (vs1). Con el- order <number>parámetro, ha configurado el orden de prioridad para los servicios de la siguiente manera:

  • Conjunto 1 (s1, s2) vinculado a vs1 — orden 1

  • Conjunto 2 (s3, s4) vinculado a vs1 — orden 2

  • Conjunto 3 (s5, s6) vinculado a vs1 — orden 3

De forma predeterminada, el número de pedido más bajo tiene la prioridad más alta. Por lo tanto, el orden de prioridad predeterminado es 1, 2 y 3 para los servicios del conjunto 1, conjunto 2 y conjunto 3, respectivamente. Sin embargo, para un tráfico de clientes específico, quiere cambiar el orden de prioridad a 3, 1 y 2. Para lograr esto, puede agregar una directiva LB y vincularla a vs1.

Un comando de directiva de LB consta de dos elementos: una regla y una acción. La regla se asocia a una acción, que se lleva a cabo si una solicitud coincide con la regla.

Nota:

Los comandos de directiva LB son comunes para la configuración LB y GSLB y se aplican a las solicitudes administradas por el dispositivo NetScaler.

Acción LB

**Expresión:**

add lb action <name> <type> <string>

**Ejemplo:**

add lb action act1 -type SELECTIONORDER -value 3 2 1

Parámetros:

  • name: Nombre de la acción.

  • type: Tipo de acción.

  • string: valor de la acción especificada.

Directiva de LB

**Expresión:**

add lb policy <name> <rule> <action> <undefaction>

**Ejemplo:**

add lb policy pol1 -rule CLIENT.IP.SRC.EQ(8.8.8.8) -action act1

Parámetros:

  • name: Nombre de la directiva.

  • rule: Una regla se compone de una o más expresiones. La regla se asocia a una acción, que se lleva a cabo si la solicitud coincide con la regla.

  • action: Se admiten DROP, NOLBACTION y RESET.

  • undefaction: El dispositivo NetScaler genera un evento indefinido (evento UNDEF) cuando una solicitud no coincide con una directiva. Puede usar el set lb param -undefAction <action>comando para establecer la acción indefinida. Puede asignar estas acciones a un evento indefinido: DROP, NOLBACTION y RESET.

Consideremos un ejemplo en el que agrega una acción LB, una directiva LB y vincula la directiva a un servidor virtual de equilibrio de carga (vs1) de la siguiente manera:

add lb action act1 -type SELECTIONORDER -value 3 1 2

add lb policy pol1 -rule CLIENT.IP.SRC.EQ(8.8.8.8) -action act1

bind lb vserver vs1 -policyName pol1 -priority 10

La regla selecciona el tráfico del cliente que coincide con la dirección IP y envía ese tráfico a vs1. 8.8.8.8 El tipo de acción LB (SELECTIONORDER) define el orden de selección de servicios. Después de vincular la directiva LB a vs1 y cuando vs1 recibe el tráfico del cliente desde la dirección IP8.8.8.8, los servicios se seleccionan en el siguiente orden:

  1. El servidor virtual (vs1) selecciona los servicios en el conjunto 3 (s5 y s6) con el orden de prioridad 3.

  2. Si todos los servicios en el conjunto 3 están DESACTIVADOS, vs1 selecciona el conjunto 1 (s1 y s2) con el orden de prioridad 2.

  3. Si todos los servicios en el conjunto 3 y el conjunto 2 están inactivos, vs1 selecciona el conjunto 1 (s1 y s2) con el orden 1.

Configurar el orden de prioridad para los servicios de equilibrio de carga con comandos de directiva LB mediante la CLI

Para configurar el orden de prioridad para los servicios de equilibrio de carga mediante los comandos de directiva LB, escriba los siguientes comandos en el símbolo del sistema:

  1. Agregue una acción LB.

    add lb action act1 -type SELECTIONORDER -value 3 1 2

  2. Agregue una directiva de LB.

    add lb policy pol1 -rule CLIENT.IP.SRC.EQ(8.8.8.8) -action act1

  3. Agregue un servidor virtual LB.

    add lb vserver vs1 HTTP 1.1.1.1 80

  4. Enlazar la directiva LB al servidor virtual LB.

    bind lb vs vs1 -policyName pol1 -priority 10

  5. Agregue los servicios LB.

    add service s[1-6] 2.2.2.[1-6] HTTP 80

  6. Establezca el orden y vincule los servicios al servidor virtual LB.

    bind lb vserver vs1 s1 -order 1

    bind lb vserver vs1 s2 -order 1

    bind lb vserver vs1 s3 -order 2

    bind lb vserver vs1 s4 -order 2

    bind lb vserver vs1 s5 -order 3

    bind lb vserver vs1 s6 -order 3

Configurar el orden de prioridad para los servicios de equilibrio de carga con los comandos de directiva LB mediante la GUI

Requisitos previos:

  • Ha creado un servidor virtual de equilibrio de carga.
  • Ha creado servicios.

Paso 1: crear una acción LB:

  1. Vaya a AppExpert > LB > Acciones.

  2. EnLB Actions, haga clic enAgregar.

  3. En el cuadro de diálogoCrear acciones LB, especifique los valores para los siguientes parámetros:

    • Nombre de acción
    • Tipo
    • Valor

      Nota:

      Los números del campo Valorestán separados por un espacio.

  4. Haga clic en Crear.

Paso 2: Cree una directiva de LB:

  1. Vaya a AppExpert > LB > Directivas.

  2. EnDirectivas de LB, haga clic enAgregar.

  3. En el cuadro de diálogoCrear directivas LB, especifique los valores para los siguientes parámetros:

    • Nombre: pol1
    • Acción: act1
    • Acción de resultado indefinido: NOLBACTION
    • Expresión: CLIENT.IP.SRC.EQ (8.8.8.8)

    Agregar directiva de LB

  4. Haz clic enCrear.

Paso 3: Enlazar la directiva LB al servidor virtual LB:

  1. Vaya aAdministración del tráfico > LB > Servidores virtualesy haga doble clic en el servidor virtual.

  2. EnConfiguración avanzada, haga clic enDirectivas.

  3. En la secciónDirectivas, haga clic en el icono más (+).

  4. En el cuadro de diálogo Elegir tipo, especifique los valores de los siguientes parámetros:

    • Seleccione una directiva: LB
    • Elija el tipo: Solicitud
  5. Haga clic en Agregar enlace.

  6. En el cuadro de diálogo Enlace de directivas, especifique los valores para los siguientes parámetros:

    • Seleccione la política
    • Prioridad
    • Expresión Goto
    • Invocar LabelType
  7. Haga clic en Bind.

Paso 4: Configurar el orden de prioridad para los servicios de equilibrio de carga:

Para configurar el orden de prioridad para los servicios de equilibrio de carga, consulte el procedimiento Configurar el orden de prioridad para los servicios de equilibrio de carga mediante la GUI.

Configuración de persistencia para los servicios

Si la persistencia está configurada para un servicio, siempre se da preferencia a la persistencia, de forma predeterminada.

Por ejemplo, considere un servicio con persistencia configurada y orden de prioridad 1. Si un servicio con orden de prioridad 0 está ACTIVO, entonces siempre se da preferencia al servicio con orden de prioridad 1.

Sin embargo, puede anular este comportamiento predeterminado con el siguiente comando de la CLI:

set lb param –overridePersistencyforOrder <YES/NO>

Consideremos el siguiente ejemplo:

Un conjunto de servicios está enlazado a un servidor virtual (vs1) con el siguiente orden de prioridad:

  • Conjunto 1 (s1, s2) vinculado a vs1 — orden 1

  • Conjunto 2 (s3, s4) vinculado a vs1 — orden 2

Escriba el siguiente comando en el símbolo del sistema para anular la persistencia:

set lb parameter -overridePersistencyforOrder YES

Si el conjunto 1 (los servicios con persistencia están configurados) está ABAJO, los servicios establecidos 2 gestionan todas las solicitudes hasta que los servicios del conjunto 1 estén ACTIVOS. Se crea una entrada de persistencia para la prioridad 2.

Supongamos que después de algún tiempo, los servicios del conjunto 1 están ACTIVOS. Ahora, los servicios set 1 y set 2 están ARRIBA para gestionar las solicitudes. En este caso, se toman nuevas decisiones de equilibrio de carga a medida que los servicios de orden superior están ACTIVOS. La entrada de persistencia se anula con una nueva entrada de equilibrio de carga.

Alternar prioridad

Con la función de alternancia de prioridad, puede alternar todo el tráfico a un servicio de baja prioridad durante la actualización de la versión para un servicio con un orden de prioridad más alto. Puede usar los siguientes comandos para alternar la prioridad:

  • set lb vserver -toggleorder<Ascending/Descending>

  • set lb vserver v1 -orderthreshold 80

Por ejemplo, consideremos que hay dos servicios con las siguientes prioridades:

  • Service 1- order 0 
  • Servicio 2 — pedido 1

De forma predeterminada, el servicio 1 gestiona todo el tráfico. Si el servicio 1 necesita actualizarse, entonces el tráfico debe reencaminarse al servicio 2.

En el símbolo del sistema, escriba los siguientes comandos para alternar la prioridad:

set lb vserver –toggleorder Descending

De forma predeterminada, 0 tiene una prioridad más alta. Sin embargo, después de la conmutación de prioridades, 1 se considera una prioridad más alta. Si la entrada de persistencia está presente para el servicio, el comportamiento de preferencia de persistencia es el que se explica en la sección Configuración de persistencia para los servicios.