Puede configurar LBaaS con la interfaz de línea de comandos en el nodo de controlador activo.

Los agentes de escucha de LBaaS pueden utilizar HTTP, TCP o HTTPS finalizado. Los agentes de escucha HTTPS finalizados finalizan TLS para las conexiones entrantes, y las claves y los certificados de TLS para estos agentes de escucha se almacenan en Barbican. Si desea crear agentes de escucha HTTPS finalizados, póngase en contacto con el administrador de nube para determinar si debe configurar ACL de manera que conceda al usuario barbican acceso a los secretos del proyecto.

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.

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. Si desea crear agentes de escucha HTTPS finalizados y necesita configurar ACL, conceda al usuario de barbican acceso a los certificados, las claves y los contenedores de TLS.
    openstack acl user add -u barbican-uuid object-name

    Ejecute este comando una vez para cada certificado, clave y contenedor en el proyecto.

    Puede ejecutar el comando openstack user list para encontrar el UUID del usuario de Barbican. Puede ejecutar el comando openstack secret list para buscar los nombres de contenedor, certificado y clave.

  5. 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.

  6. 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=tls-container-uuid]

    Si especifica TERMINATED_HTTPS como el protocolo, también debe proporcionar el identificador del contenedor de TLS.

  7. 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.

  8. 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
  9. 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ó.

  10. Si creó el equilibrador de carga en una subred de arrendatario, asocie una dirección IP flotante al equilibrador de carga.
  11. (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