You can create load balancers to distribute incoming requests among designated instances. Load balancers ensure that workloads are shared predictably among instances and system resources are used more effectively.

VMware Integrated OpenStack 7.0.1 supports the OpenStack Octavia component.

Prerequisites

  • Create a public subnet and router on your network. For an NSX Data Center for vSphere deployment, the router type must be exclusive.
    Note: You can create the load balancer on a tenant subnet, but you must assign it a floating IP address.
  • Configure at least one client and at least two server instances.
  • Verify that you have one of the following roles so that you can operate Horizon or the OpenStack CLI.
    Role Description
    load-balancer_observer User with access to load-balancer read-only APIs.
    load-balancer_global_observer User with access to load-balancer read-only APIs including resources owned by others.
    load-balancer_member User with access to load-balancer read and write APIs.
    load-balancer_quota_admin Admin for quota APIs only.
    load-balancer_admin Admin for all load-balnacer APIs including resources owned by others.
    admin Admin to all APIs.

Procedure

  1. Log in to the VMware Integrated OpenStack dashboard.
  2. Select your project from the drop-down menu in the title bar.
  3. Select Project > Network > Load Balancers and click Create Load Balancer.
  4. On the Load Balancer Details page, enter the desired configuration and click Next.
    Option Description

    Name

    Enter a name for the load balancer.

    Description

    (Optional) Enter a description of the load balancer.

    IP Address

    (Optional) Enter the IP address of the load balancer.

    Subnet

    Select a subnet for the load balancer. Only members of this subnet can be added to the LBaaS pool.

  5. On the Listener Details page, enter the desired configuration and click Next.
    Option Description

    Name

    Enter a name for the listener.

    Description

    Enter a description of the listener.

    Protocol

    Select the protocol for the listener to use. The following protocols are supported:

    • HTTP
    • TCP
    • Terminated HTTPS
    • HTTPS

    If you select terminated HTTPS as the protocol, you must also provide the ID of the TLS container.

    Port

    Enter the port for the listener to use.

  6. Specify the name, description, and load balancing method for your LBaaS pool and click Next.
    Supported load balancing methods are described as follows:
    Method Description
    LEAST_CONNECTIONS

    New client requests are sent to the server with the fewest connections.

    ROUND_ROBIN

    Each server is used in turn according to the weight assigned to it.

    SOURCE_IP

    All connections that originate from the same source IP address are handled by the same member of the pool.

  7. Select the server and client instances to add to the load balancer pool and click Next.
  8. Specify parameters for the health monitor and click Next.
    Parameter Description
    Monitor type

    Specify HTTP, PING, or TCP.

    Interval

    Enter the time in seconds between sending probes to members.

    Retries

    Enter the number of connection failures allowed before changing the member status to INACTIVE.

    Timeout

    Enter the time in seconds that a monitor will wait for a connection to be established before it times out.

    The timeout value must be less than the interval value.

    If you select HTTP, you must also configure the HTTP method, expected status code, and URL.
  9. If you selected the TERMINATED_HTTPS protocol for listener details, specify one or more certificates for the listener and click Next.
  10. Click Create Load Balancer.
  11. If you created the load balancer on a tenant subnet, associate a floating IP address with the load balancer.
    1. Click the down arrow to the right of the load balancer and select Associate Floating IP.
    2. Select a floating IP address or pool and click Associate.
  12. (Optional) Send test requests to validate your LBaaS configuration.
    1. Log in to the Integrated OpenStack Manager as the root user.
      ssh root@mgmt-server-ip
    2. Create a test index.html file.
    3. In the same directory, start a web server.
      sudo python -m SimpleHTTPServer 80
    4. Log in to the client instance.
    5. Run the wget command to view whether your requests are being correctly load-balanced across the servers in the pool.
       wget -O - http://mgmt-server-ip

What to do next

You can open the load balancer and click Create Listener to add listeners to it.