Puede configurar LBaaS mediante la interfaz de línea de comandos en el nodo que ejecuta OpenStack Neutron.

Requisitos previos

  • Cree un enrutador y una subred pública en la red. Para una implementación de NSX Data Center for vSphere, el tipo de enrutador debe ser exclusive.

    Nota:

    Puede crear el equilibrador de carga en una subred de arrendatario, pero debe asignarle una dirección IP flotante.

  • Configure al menos un cliente y al menos dos instancias de servidor.

  • Si desea crear agentes de escucha HTTPS finalizados, compruebe que se importaron la clave privada y el certificado del servidor en el almacén de confianza para secretos en NSX Manager.

Procedimiento

  1. Inicie sesión en Servidor de administración de OpenStack como viouser.
  2. Inicie sesión en el nodo del controlador como viouser.
  3. Cargue el archivo de credenciales de su cuenta de usuario.
    source user-credentials.rc
  4. Cree un equilibrador de carga.
    neutron lbaas-loadbalancer-create --name lb-name lb-subnet-id

    Solo los miembros de la subred determinada pueden agregarse al grupo de LBaaS.

  5. Cree un agente de escucha para el nuevo equilibrador de carga.
    neutron lbaas-listener-create --loadbalancer lb-name --protocol {HTTP | TCP | TERMINATED_HTTPS} --protocol-port port-num --name listener-name [--default-tls-container=nsxt-cert-uuid]

    Si especifica TERMINATED_HTTPS como el protocolo, también debe proporcionar el identificador del certificado de servidor de NSX-T Data Center.

  6. Cree un grupo de LBaaS.
    neutron lbaas-pool-create --lb-algorithm lb-method --listener listener-name --protocol {TCP | HTTP} --name pool-name

    El parámetro --lb-algorithm acepta los siguientes valores.

    Argumento

    Descripción

    LEAST_CONNECTIONS

    Las nuevas solicitudes del cliente se envían al servidor que tiene la menor cantidad de conexiones.

    ROUND_ROBIN

    Cada servidor se utiliza de forma alternada en función del peso que se le asignó.

    SOURCE_IP

    El mismo miembro del grupo gestiona todas las conexiones que proceden de la misma dirección IP de origen.

  7. Agregue al menos dos instancias de servidor al grupo de LBaaS que creó.
    neutron lbaas-member-create --subnet lb-subnet-id --address server1-ip --protocol-port 80 pool-name
    neutron lbaas-member-create --subnet lb-subnet-id --address server2-ip --protocol-port 80 pool-name
  8. Configure el monitor de estado.
    neutron lbaas-healthmonitor-create --delay delay-seconds --type {HTTP | TCP | PING} --max-retries number --timeout timeout-seconds --pool pool-name

    Parámetro

    Descripción

    --delay

    Introduzca el tiempo en segundos entre el envío de sondas a los miembros.

    --type

    Especifique HTTP, TCP o PING.

    --max-retries

    Introduzca el número de errores de conexión permitidos antes de cambiar el estado del miembro a INACTIVE.

    --timeout

    Introduzca el tiempo en segundos que un monitor esperará por el establecimiento de una conexión antes de que se agote el tiempo de espera.

    El valor del tiempo de espera debe ser menor que el valor de retraso.

    --pool

    Especifique el grupo de LBaaS que creó.

  9. Si creó el equilibrador de carga en una subred de arrendatario, asocie una dirección IP flotante al equilibrador de carga.
  10. (opcional) Envíe solicitudes de prueba para validar la configuración de LBaaS.
    1. Inicie sesión en Servidor de administración de OpenStack como viouser.
    2. Cree una prueba en el archivo index.html.
    3. En el mismo directorio, inicie un servidor web.
      sudo python -m SimpleHTTPServer 80
    4. Inicie sesión en la instancia del cliente.
    5. Ejecute el comando wget y compruebe que la carga de las solicitudes se está equilibrando correctamente en los servidores del grupo.
      • Para realizar el equilibrio de carga sin TLS, ejecute el siguiente comando:

        wget -O - http://mgmt-server-ip
      • Para realizar el equilibrio de carga con TLS, ejecute el siguiente comando:

        wget -O - https://mgmt-server-ip