Endurance

Introduction

This chapter covers what Endurance is and what this manual contains - the product and its key features, the current release, how the appliance is configured and accessed, the ports it uses, and the other documentation available. The manual covers all required administration information for Endurance v3.2.1.2 and, for simplicity and ease of reference, its core content is structured in the same way as the Endurance WebUI.

About Endurance

Endurance is Loadbalancer.org’s next-generation Application Delivery Controller (ADC) and represents the future direction of our load balancing portfolio. Rebuilt from the ground up on a modern operating system and software architecture, Endurance pairs a proven load balancing core with advanced automation, full API integration and powerful security features to provide a comprehensive solution for managing application delivery across today’s distributed environments.

Endurance can be used to load balance virtually any TCP or UDP based application. It provides:

Layer 7 services, based on HAProxy - a fast, reliable proxy for TCP, HTTP/1.1 and HTTP/2 applications, with SSL/TLS termination, a wide range of persistence methods and content-aware traffic manipulation. For more information, see Layer 7 Services.

Layer 4 services, based on LVS (the Linux Virtual Server) - high-performance, transport-layer load balancing implemented in the Linux kernel. For more information, see Layer 4 Services.

Global Server Load Balancing (GSLB), based on Polaris-GSLB - for distributing traffic across multiple geographically dispersed sites or data centers to create highly available, multi-site environments. For more information, see GSLB Services.

The WebUI has been designed using real-time technology. Status, health and performance information is streamed to the browser, so the dashboard and service pages update live without needing to be refreshed. Every configuration action is also available through a complete REST API, so Endurance is equally at home when driven interactively through the WebUI or automated as part of a DevOps or CI/CD workflow using tools such as Terraform and Ansible.

Currently, Endurance is available in ISO format and includes support for several Hypervisors. For more details, see Appliance Deployment.

The appliance can be deployed as a single unit or as part of a highly available cluster of up to 4 nodes.

Loadbalancer.org recommends deploying multiple nodes in a cluster to provide a highly available, resilient load balancing solution and avoid a single point of failure. For more information, see High availability.

Key Features

The table below summarizes the key features of the Endurance appliance and indicates where each is covered in more detail.

Feature Description

Layer 7 load balancing

Flexible, content-aware load balancing for HTTP/HTTPS and other TCP applications, based on HAProxy. See Layer 7 Services.

Layer 4 load balancing

High-performance, low-latency load balancing for TCP and UDP applications, based on LVS. See Layer 4 Services.

Global Server Load Balancing (GSLB)

DNS-based load balancing across multiple sites or data centers for multi-site resilience. See GSLB Services.

Full REST API

Complete programmatic control of the appliance for automation and integration with DevOps and CI/CD pipelines. See Application Programming Interface (API).

Real-time WebUI

A modern, responsive web interface that streams live status, health and performance data to the browser. See Dashboard.

Role-based access control

Granular control of WebUI access through users, groups and roles, so each operator is granted only the permissions they require. See Users & Groups.

High availability

Deploy multiple appliances in a cluster using PulseHA, with services floating between nodes on failover. See High availability.

Health checking

A comprehensive range of health checks that automatically remove failed Real Servers from service and return them when they recover. See Healthchecks.

SSL/TLS termination

Terminate, offload or bridge SSL/TLS on the appliance, with centrally managed certificates and configurable cipher lists. See SSL/TLS Termination - Concepts.

Monitoring & metrics

Built-in SNMP support and a Prometheus collector for integration with external monitoring solutions. See SNMP Configuration and Collectors & Integrations.

Current Release

The current release is published on the Endurance download page, which gives the version available, the date it was released, a SHA-256 checksum for the ISO and a link to the download itself.

Endurance is supported for production use. If you are moving across from the Enterprise platform, contact us about the upgrade path. Unlimited support is available during the free trial period - if you have any questions or encounter an issue, please contact support.

Appliance Configuration Overview

Initial network configuration can be performed at the console or via a browser using the Network Setup Wizard. Once the wizard has been run, load balanced services can be configured using the WebUI or using the API. When using the WebUI, API calls are used in the background to configure the appliance.

By default, the WebUI is accessible on HTTPS port 443, this can be changed if required.

We recommend that where possible at least two appliances are deployed for high availability and resilience, this avoids introducing a single point of failure to your network. For more information, see High availability

Appliance Access & Security

WebUI

The first WebUI user account is added when the Network Setup Wizard is run. The user is automatically added to the System Admin role which grants full system rights. Additional user accounts can be added if required, permissions granted to each user are based on the role(s) allocated either directly to the user or via group membership and the permissions configured for those role(s).

Console & SSH

"loadbalancer" User

If required, console and SSH access for the "loadbalancer" CLI user account can be enabled. This allows both Linux OS and Endurance specific commands to be run. For details on enabling access and setting the password for this account, see the Console section of the appliance’s system settings.

"setup" User (Console only)

The "setup" CLI user account starts the Network Setup Wizard, which is used to configure the appliance’s management IP address and other network settings when it is first deployed. It also provides a Set Static IP option, which is only needed when no DHCP server is available to supply a temporary address - without one the appliance has no address to browse to, so the web based setup cannot be reached until a static IP has been assigned. No password is required. For details, see Configure Initial Network Settings.

"lbsystem" User (Console only)

The "lbsystem" CLI user account provides access to a limited range of commands such as appliance restart and shutdown.

The account is available at the appliance console only - it cannot be used over SSH - and it has no console password of its own. It is authenticated using a WebUI user account instead.

To use the account:

  1. At the appliance console, enter lbsystem at the login: prompt.

  2. At the Email and Password prompts, enter the credentials of a WebUI user account.

  3. Enter the number shown against the required option at the Option? prompt.

The menu header reports the appliance name, the signed in user, whether Console Access is currently on or off, and any Cluster lock that is in place. The options are:

Option Description

Force unlock the cluster

Clears a configuration lock from the console. Locks are normally applied and removed using the WebUI - see System lock.

Revoke Console Access

Disables shell login for the "loadbalancer" user, reversing the setting described in Console.

Restart this appliance

Reboots the appliance. To restart or reload an individual load balancing service rather than the whole appliance, see System services.

Shut this appliance down

Powers the appliance down.

Quit

Ends the session and returns to the login: prompt.

The options offered vary with the current state of the appliance, so the list displayed may differ from the one above.

Ports Used by the Appliance

By default, the appliance uses the following TCP & UDP ports:

Protocol Port Purpose

TCP

22

SSH

TCP & UDP

53

GSLB

UDP

161

SNMP

TCP

443

WebUI & API

TCP

9083

Pulse between nodes in HA mode

TCP

7778

HAProxy persistence table replication

TCP

9090

Prometheus layer 7 exporter

TCP

9100

Prometheus node exporter

The ports used for GSLB, SNMP, the WebUI & API, SSH, Pulse, HAProxy persistence table replication and the Prometheus exporters can be changed if required.

More Information

Deployment Guides

A number of deployment guides that focus on load balancing specific applications are available. They cover the configuration of the load balancer as well as any application specific changes that are required to enable load balancing. Many other deployment guides already exist for Enterprise; these are currently being ported to Endurance. All guides are available on our website at loadbalancer.org/resources.

The following related documentation may also be useful:

Contacting Support

If you have any questions regarding the appliance or need assistance with load balancing your application, please don’t hesitate to contact support.