VMware Integrated OpenStack 4.0 es compatible con LBaaS v2.0. De forma predeterminada, LBaaS v2.0 se habilita tras completar el proceso de instalación o actualización de VMware Integrated OpenStack.
Por qué y cuándo se efectúa esta tarea
Esta tarea implica la creación de un monitor de estado y su asociación con el grupo de LBaaS que contiene las instancias de servidor de LBaaS. El monitor de estado es un servicio de Neutron que comprueba si las instancias siguen ejecutándose en el puerto de protocolo especificado.
Requisitos
VMware Integrated OpenStack no admite LBaaS v1.0.
Esta tarea solo se aplica a VMware Integrated OpenStack implementado con NSX.
Procedimiento
- Mediante SSH, inicie sesión en VMware Integrated OpenStack Manager.
- Pase a usar el usuario raíz.
sudo su -
- En el administrador de VMware Integrated OpenStack, use SSH para iniciar sesión en el nodo de Neutron.
- Pase a usar el usuario raíz.
sudo su -
- Cree un enrutador exclusivo.
neutron router-create --router_type=exclusive <router name>
- Conecte una subred al enrutador nuevo.
neutron net-create <network name> neutron subnet-create <network name> <CIDR value> --name <subnet name> neutron router-interface-add <router name or id> <subnet name or id>
- Cree el equilibrador de carga.
Este paso incluye la creación del equilibrador de carga, el agente de escucha y el grupo de equilibradores de carga.
- Cree el equilibrador de carga y especifique la subred de VIP de equilibrio de carga.
neutron lbaas-loadbalancer-create --name LOAD_BALANCER_1_NAME <vip-subnet-id>
Parámetro
Descripción
name
Indica el nombre para el nuevo equilibrador de carga.
vip-subnet-id
Especifica la subred de VIP del nuevo equilibrador de carga. Solo pueden agregarse al grupo miembros de esta subred.
- Cree un agente de escucha para el nuevo equilibrador de carga.
neutron lbaas-listener-create \ --loadbalancer LOAD_BALANCER_1_NAME \ --protocol <protocol type> \ --protocol-port <protocol port> --name LISTENER_1_NAME
Parámetro
Descripción
loadbalancer
Especifica el equilibrador de carga que creó en el paso secundario anterior.
protocol type
Establece el tipo de protocolo del agente de escucha.
TCP
HTTP
HTTPS
protocol port
Indica el puerto del protocolo.
name
Especifica un nombre para el nuevo agente de escucha.
- Cree un grupo de LBaaS.
neutron lbaas-pool-create \ --lb-algorithm <load balancing method> \ --listener LISTENER_1_NAME \ --protocol <protocol type> \ --name LB_POOL_1
Parámetro
Descripción
lb-algorithm
Especifique un método de equilibrio de carga:
IP_HASH
Selecciona un servidor según un hash de las direcciones IP de origen y destino de cada paquete.
LEAST_CONN
Distribuye las solicitudes del cliente entre varios servidores según la cantidad de conexiones que ya tiene el servidor. Las conexiones nuevas se envían al servidor con la menor cantidad de conexiones.
ROUND_ROBIN
Se usa cada servidor de forma alternada según el peso asignado a cada uno. Este proceso es el algoritmo más fluido y justo cuando el tiempo de procesamiento del servidor permanece distribuido de manera equitativa.
URI
La parte izquierda de la URI, antes del signo de pregunta, se verifica y se divide por el peso total de los servidores en ejecución. El resultado designa qué servidor recibe la solicitud, lo que garantiza que una solicitud siempre se dirija al mismo servidor siempre y cuando todos los servidores estén disponibles.
listener
Especifica el agente de escucha que creó en el paso secundario anterior.
protocolo
Indica el protocolo que usarán los miembros del grupo.
TCP
HTTP
HTTPS
name
Especifica un nombre para el nuevo grupo.
- Cree el equilibrador de carga y especifique la subred de VIP de equilibrio de carga.
- Cree las instancias para los servidores y el cliente.
nova boot --image <image-uuid> --flavor <flavor> <server 1 name> nova boot --image <image-uuid> --flavor <flavor> <server 2 name> nova boot --image <image-uuid> --flavor 1 <client name>
- Agregue las instancias del servidor al grupo de LBaaS que creó.
neutron lbaas-member-create \ --subnet <subnet-id> --address <server 1 IP> \ --protocol-port 80 <pool name> neutron lbaas-member-create \ --subnet <subnet-id> --address <server 2 IP> \ --protocol-port 80 <pool name>
- Configure el monitor de estado.
neutron lbaas-healthmonitor-create \ --delay DELAY_IN_SECONDS --type [HTTP | TCP] --max-retries NUMBER \ --timeout TIMEOUT_IN_SECONDS --pool LBAAS_POOL
Parámetro
Descripción
delay
El tiempo en segundos entre el envío de sondas a los miembros.
type
Uno de los tipos de monitores de estado predefinidos. Especifique HTTP o TCP.
max-retries
Cantidad de errores de conexión permitidos antes de cambiar el estado del miembro a INACTIVO.
timeout
Cantidad máxima de segundos que espera un monitor para que se establezca una conexión antes de que se agote el tiempo de espera.
Nota:El valor del tiempo de espera debe ser menor que el valor de retraso.
pool
Establece el grupo de LBaaS que se supervisará.
- (Opcional) Envíe solicitudes de prueba para validar la configuración de LBaaS.
- Cree una prueba en el archivo index.html.
- Desde el mismo directorio, ejecute una solicitud simple.
# sudo python -m SimpleHTTPServer 80
- Inicie sesión en la instancia del cliente.
- Ejecute el comando wget para ver si la carga de las solicitudes se equilibra correctamente entre los dos servidores del grupo.
# wget -O - http://<vip-ip>