Explore CE High Availability Options with F5 Distributed Cloud

This article explores an alternative approach to achieve HA across single CE nodes, catering for use cases requiring higher performance and granular control over redundancy and failover management.

 

Introduction

F5 Distributed Cloud offers different technique to achieve High Availability (HA) for Customer Edge (CE) nodes in an active-active configuration to provide redundancy, scaling on-demand and simplify management.

By default, F5 Distributed Cloud uses a method for clustering CE nodes, in which CEs keep track of peers by sending heartbeats and facilitating traffic exchange among themselves. This method also handles the automatic transfer of traffic, virtual IPs, and services between CE peers—excellent for simplified deployment and running App Stack sites hosting Kubernetes workloads. However, if CE nodes are deployed mainly to manage L3/L7 traffic and application security, this default model might lack the flexibility needed for certain scenarios.

Many of our customers tell us that achieving high availability is not so straightforward with the current clustering model. These customers often have a lot of experience in managing redundancy and high availability across traditional network devices. They like to manage everything themselves—from scheduling when to switch over to a redundant pair (planned failover), to choosing how many network paths (tunnels) to use between CEs to REs (Regional Edges) or other CEs. They also want to handle any issues device by device, decide the number of CE nodes in a redundancy group, and be able to direct traffic to different CEs when one is being updated. Their feedback inspired us to write this article, where we explore a different approach to achieve high availability across CEs.

The default clustering model is explained in this document: https://docs.cloud.f5.com/docs/ves-concepts/site#cluster-of-nodes

 

Throughout this article, we will dive into several key areas:

  • An overview of the default CE clustering model, highlighting its inherent challenges and advantages.
  • Introduction to an alternative clustering strategy: Single Node Clustering, including:
    • An analysis of its challenges and benefits.
    • Identification of scenarios where this approach is most applicable.
    • A guide to the configuration steps necessary to implement this model.
    • An exploration of failover behavior within this framework.
  • A comparison table showing how this new method differs from the default clustering method.

By the end of this article, readers will gain an understanding of both clustering approaches, enabling informed decisions on the optimal strategy for their specific needs.

 

Default CE Clustering Overview

In a standard CE clustering setup, a cluster must have at least three Master nodes, with subsequent additions acting as Worker nodes.

A CE cluster is configured as a "Site," centralizing operations like pool configuration and software upgrades to simplify management. In this clustering method, frequent communication is required between control plane components of the nodes on a low-latency network.

When a failover happens, the VIPs and services—including customer’s compute workloads — will transition to the other active nodes.

As shown in the picture above, a CE cluster is treated as a single site, regardless of the number of nodes it contains. In a Mesh Group scenario, each mesh link is associated with one single tunnel connected to the cluster. These tunnels are distributed among the master nodes in the cluster, optimizing the total number of tunnels required for a large-scale Mesh Group. It also means that the site will be connected to REs only via 2 tunnels – one to each RE.

 

Design Considerations for Default CE Clustering model:

Preferred for:

1-    App Stack Sites: Running Kubernetes workloads necessitates the default clustering method for container orchestration across nodes.

2-    Large-scale Site-Mesh Groups (SMG)

3-    Cluster-wide upgrade preference: Customers who favour managing nodes collectively will find cluster-wide upgrades more convenient, however, without control over the upgrade sequence of individual nodes.

Challenges:

o   Network Bottleneck for Ingress Traffic: A cluster connected to two Regional Edge (RE) sites via only 2 tunnels can lead to only two nodes processing external (ingress) traffic, limiting the use of additional nodes to process internal traffic only.

o   Three-master node requirement: Some customers are accustomed to dual-node HA models and may find the requirement for three master nodes resource-intensive.

o   Hitless upgrades: Controlled, phased upgrades are preferred by some customers for testing before widespread deployment, which is challenging with cluster-wide upgrades.

o   Cross-site deployments: High network latency between remote data centers can impact cluster performance due to the latency sensitivity of etcd daemon, the backbone of cluster state management. If the network connection across the nodes gets disconnected, all nodes will most likely stop the operation due to the quorum requirements of etcd. Therefore, F5 recommends deploying separate clusters for different physical sites.

o   Service Fault Sprawl and limited Node fault tolerance: Default clusters can sometimes experience a cascading effect where a fault in a node spreads throughout the cluster. Additionally, a standard 3-node cluster can generally only tolerate the failure of two nodes. If the cluster was originally configured with three nodes, functionality may be lost if reduced to a single active node. These limitations stem from the underlying clustering design and its dependency on etcd for maintaining cluster state.

 

The Alternative Solution: HA between Multiple Single Nodes

The good news is that we can achieve the key objectives of the clustering – which are streamlined management and high availability - without the dependency on the control plane clustering mechanisms.

Streamlined management using “Virtual Site”:

F5 Distributed Cloud provides a mechanism called “Virtual Site” to perform operations on a group of sites (site = node or cluster of nodes), reducing the need to repeat the same set of operations for each site. The “Virtual Site” acts as an abstraction layer, grouping nodes tagged with a unique label and allows collectively addressing these nodes as a single entity.

Configuration of origin pools and load balancers can reference Virtual Sites instead of individual sites/nodes, to facilitate cluster-like management for two or more nodes and enabling controlled day 2 operations.

When a node is disassociated from Virtual Site by removing the label, it's no longer eligible for new connections, and its listeners are simultaneously deactivated.

Upgrading nodes is streamlined: simply remove the node's label to exclude it from the Virtual Site, perform the upgrade, and then reapply the label once the node is operational again. This procedure offers you a controlled failover process, ensuring minimal disruption and enhanced manageability by minimizing the blast radius and limiting the cope of downtime. As traffic is rerouted to other CEs, if something goes wrong with an upgrade of a CE node, the services will not be impacted.

HA/Redundancy across multiple nodes:

Each single node in a Virtual Site connect to dual REs through IPSec or SSL/TLS tunnels, ensuring even load distribution and true active-active redundancy. 

 

External (Ingress) Traffic:

In the Virtual Site model, the Regional Edges (REs) distribute external traffic evenly across all nodes. This contrasts with the default clustering approach where only two CE nodes are actively connected to the REs. The main Virtual Site advantage lies in its true active/active configuration for CEs, increasing the total ingress traffic capacity. If a node becomes unavailable, the REs will automatically reroute the new connections to another operational node within the Virtual Site, and the services (connection to origin pools) remain uninterrupted.

Internal traffic:

For managing internal traffic within a single CE node in a Virtual Site (for example, when LB objects are configured to be advertised within the local site), all network techniques applicable to the default clustering model can be employed in this model as well, except for the Layer 2 attachment (VRRP) method.

Preferred load distribution method for internal traffic across CEs: Our preferred methods for load balancing across CE nodes are either DNS based load balancing or Equal-Cost Multi-Path (ECMP) routing utilizing BGP for redundancy.

  • DNS Load Balancer Behavior: If a node is detached from a Virtual Site, its associated listeners and Virtual IPs (VIPs) are automatically withdrawn. Consequently, the DNS load balancer's health checks will mark those VIPs as down and prevent them from receiving internal network traffic.
  • Current limitation for custom VIP and BGP: When using BGP, please note a current limitation that prevents configuring a custom VIP address on the Virtual Site. As a workaround, custom VIPs should be advertised on individual sites instead. The F5 product team is actively working to address this gap.

For a detailed exploration of traffic routing options to CEs, please refer to the following article here:

https://community.f5.com/kb/technicalarticles/f5-distributed-cloud---customer-edge-site---deployment--routing-options/319435

 

Design Considerations for Single Node HA model:

Best Suited for:

1-    Customers with high throughput requirement:

This clustering model ensures that all Customer Edge (CE) nodes are engaged in managing ingress traffic from Regional Edges (REs), which allows for scalable expansion by adding additional CEs as required. In contrast, the default clustering model limits ingress traffic processing to only two CE nodes per cluster, and more precisely, to a single node from each RE, regardless of the number of worker nodes in the cluster. Consequently, this model is more advantageous for customers who have high throughput demands.

2-    Customers who prefer to use controlled failover and software upgrades

This clustering model enables a sequential upgrade process, where nodes are updated individually to ensure each node upgrades successfully before moving on to the other nodes. The process involves detaching the node from the cluster by removing its site label, which causes redirecting traffic to the remaining nodes during the upgrade. Once upgraded, the label is reapplied, and this process is repeated for each node in turn. This is a model that customers have known for 20+ years for upgrade procedures, with a little wrinkle with the label.

3-    Customers who prefer to distribute the load across remote sites

Nodes are deployed independently and do not require inter-node heartbeat communication, unlike the default clustering method. This independence allows for their deployment across various data centers and availability zones while being managed as a single entity. They are compatible with both Layer 2 (L2) spanned and Layer 3 (L3) spanned data centers, where nodes in different L3 networks utilize distinct gateways. As long as the nodes can access the origin pools, they can be integrated into the same "Virtual Site". This flexibility caters to customers' traditional preferences, such as deploying two CE nodes per location, which is fully supported by this clustering model.

Challenges:

  • Lack of VRRP Support:
    The primary limitation of this clustering method is the absence of VRRP support for internal VIPs. However, there are some alternative methods to distribute internal traffic across CE nodes. These include DNS-based routing, BGP with Equal-Cost Multi-Path (ECMP) routing, or the implementation of CEs behind another Layer 4 (L4) load balancer capable of traffic distribution without source address alteration, such as F5 BIG-IPs or the standard load balancers provided by Azure or AWS.
  • Limitation on Custom VIP IP Support:
    Currently, the F5 Distributed Cloud Console has a restriction preventing the configuration of custom virtual IPs for load balancer advertisements on Virtual Sites. We anticipate this limitation will be addressed in future updates to the F5 Distributed Cloud platform. As a temporary solution, you can advertise the LB across multiple individual sites within the Virtual Site. This approach enables the configuration of custom VIPs on those sites.
  • Requires extra steps for upgrading nodes
    Unlike the Default clustering model where upgrades can be performed collectively on a group of nodes, this clustering model requires upgrading nodes on an individual basis. This may introduce more steps, especially in larger clusters, but it remains significantly simpler than traditional network device upgrades.
  • Large-Scale Mesh Group:
    In F5 Distributed Cloud, the "Mesh Group" feature allows for direct connections between sites (whether individual CE sites or clusters of CEs) and other selected sites through IPSec tunnels. For CE clusters, tunnels are established on a per-cluster basis. However, for single-node sites, each node creates its own tunnels to connect with remote CEs. This setup can lead to an increased number of tunnels needed to establish the mesh.

For example, in a network of 10 sites configured with dual-CE Virtual Sites, each CE is required to establish 18 IPSec tunnels to connect with other sites, or 19 for a full mesh configuration. Comparatively, a 10-site network using the default clustering method—with a minimum of 3 CEs per site—would only need up to 9 tunnels from each CE for full connectivity. Opting for Virtual Sites with dual CEs, a common choice, effectively doubles the number of required tunnels from each CE when compared to the default clustering setup.

However, despite this increase in tunnels, opting for a Mesh configuration with single-node clusters can offer advantages in terms of performance and load distribution.

Note: Use DC Groups as an alternative solution to Secure Mesh Group for CE connectivity:

For customers with existing private connectivity between their CE nodes, running Site Mesh Group (SMG) with numerous IPsec tunnels can be less optimal. As a more scalable alternative for these customers, we recommend using DC Cluster Group (DCG). This method utilizes IP-in-IP tunnels over the existing private network, eliminating the need for individual encrypted IPsec tunnels between each node and streamlining communication between CE nodes via IP-n-IP encapsulations.

 

 

Configuration Steps

The configuration for creating single-node clusters involves the following steps:

  1. Creating a Label
  2. Creating a Virtual Site
  3. Applying the label to the CE nodes (sites)
  4. Review and validate the configuration

The detailed configuration guide for the above steps can be found here: https://docs.cloud.f5.com/docs/how-to/fleets-vsites/create-virtual-site

 

Example Configuration:

In this example, you can create a label called "my-vsite" to group CE nodes that belong to the same Virtual Site. Within this label, you can then define different values to represent different environments or clusters, such as a specific Azure region or an on-premises data center.

Then a Virtual Site of “CE” type can be created to represent the CE cluster in “Azure-AustraliaEast-vSite" and tied to any CE that is tagged with the label “my-vsite=Azure-AustraliaEast-vSite”:

Now, any CE node that should join the cluster (Virtual Site), should get this label:

 

Verification:

To confirm the Virtual Site configuration is functioning as intended, we joined two CEs (k1-azure-ce2 and k1-azure-ce03) into the Virtual Site and evaluated the routing and load balancing behavior.

 

Test 1: Public Load Balancer (Virtual Site referenced in the pool)

The diagram shows a public "Load Balancer" advertised on the RE referencing a pool that uses the newly created Virtual Site to access the private application:

As shown below, the pool member was configured to be accessed through the Virtual Site:

Analysis of the request logs in the Performance dashboard confirmed that all requests to the public website were evenly distributed across both CEs.

Test 2: Internal Load Balancer (LB advertised on the Virtual Site)

We deployed an internal Load Balancer and advertised it on the newly created Virtual Site, utilizing the pool that also references the same Virtual Site (k1-azure-ce2 and k1-azure-ce03).

As shown below, the Load Balancer was configured to be advertised on the Virtual Site.

Note: Here we couldn't use a "shared" custom VIP across the Virtual Site due to a current platform constraint. If a custom VIP is required, we should use "site" as opposed to "Virtual Site" and advertise the Load Balancer on all sites, like the picture below:

 

Request logs revealed that when traffic reached either CE node within the Virtual Site, the request was processed and forwarded locally to the pool member. In the example below:

  • src_site: Indicates the CE (k1-azure-ce2) that processed the request.
  • src_ip: Represents the client's source IP address (192.168.1.68).
  • dst_site: Indicates the CE (k1-azure-ce2) from which the pool member is accessed.
  • dst_ip: Represents the IP address of the pool member (192.168.1.6).

Resilience Testing:

To assess the Virtual Site's resilience, we intentionally blocked network access from k1-azure-ce2 CE  to the pool member (192.168.1.6). The CE automatically rerouted traffic to the pool member via the other CE (k1-azure-ce03) in the Virtual Site.

Note: By default, CEs can communicate with each other via the F5 Global Network. This can be customized to use direct connectivity through tunnels if the CEs are members of the same DC Cluster Group (IP-n-IP tunneling) or Secure Mesh Groups (IPSec tunneling).

The following picture shows the traffic flow via F5 Global Network.

The following picture shows the traffic flow via the IP-n-IP tunnel when a DC Clustering Group (DCG) is configured across the CE nodes.

 

Failover Behaviour

When a CE node is tied to a Virtual Site, all internal Load Balancers (VIPs) advertised on that Virtual Site will be deployed in the CE. Additionally, the Regional Edge (RE) begins to use this node as one of the potential next hops for connections to the origin pool.

Should the CE become unavailable, or if it lacks the necessary network access to the origin server, the RE will almost seamlessly reroute connections through the other operational CEs in the Virtual Site. 

Uncontrolled Failover:

During instances of uncontrolled failover, such as when a node is unexpectedly shut down from the hypervisor, we have observed a handful of new connections experiencing timeouts. However, these issues were resolved by implementing health checks within the origin pool, which prevented any subsequent connection drops.

Note: Irrespective of the clustering model in use, it’s always recommended to configure health checks for the origin pool. This practice enhances failover responsiveness and mitigates any additional latency incurred during traffic rerouting.

Controlled Failover:

The moment a CE node is disassociated from the Virtual Site—by the removal of its label—the CE node will not be used by RE to connect to origin pools anymore. At the same time, all Load Balancer listeners associated with that Virtual Site are withdrawn from the node. This effectively halts traffic processing for those applications, preventing the node from receiving related traffic.

During controlled failover scenarios, we observed seamless service continuity on externally advertised services (to REs).

On-demand scaling:

F5 Distributed Cloud provides a flexible solution that enables customers to scale the number of active CE nodes according to demand. This allows you to easily add more powerful CE nodes during peak periods (such as promotional events) and then remove them when demand subsides. With the Virtual Sites method, you can even mix and match node sizes within your cluster (Virtual Site), providing granular control over resources.

It's advisable to monitor CE node performance and implement node-related alerts. These alerts notify you when nodes are operating at high capacity, allowing for the timely addition of extra nodes as needed. Moreover, you can monitor node’s health in the dashboard. CPU, Memory, and Disk utilizations of nodes can be a good factor in determining if more nodes are needed or not.

Furthermore, the use of Virtual Sites makes managing this process even easier, thanks to labels.

Node-based Alerts:

Node-based alerts are essential for maintaining efficient CE operations.

Accessing the alerts in the Console:

To view alerts, go to Multi-Cloud Network Connect > Notifications > Alerts. Here, you can see both "Active Alerts" and "All Alerts." Alerts related to node health fall under the "infrastructure" alert group.

The following screenshot shows alerts indicating high loads on the nodes.

 

Configuring Alert Policies:

Alert policies determine the notification process for raised alerts.

To set up an alert policy, navigate to Multi-Cloud Network Connect > Alerts Management > Alert Policies. An alert policy consists of two main elements: the alert receiver configuration and the policy rules.

 

Configuring Alert Receiver:

The configuration allows for integration with platforms like Slack and PagerDuty, among others, facilitating notifications through commonly used channels.

 

Configuring Alert Rules:

For alert selection, we recommend configuring notifications for alerts with severity of “Major” or “Critical” at a minimum. Alternatively, the “infrastructure” group which includes node-based alerts can be selected.

 

Comparison table

Criteria

Default Cluster

Single Node HA

Minimum number of nodes in HA

3

2

Upgrade operations

Per cluster

Per Node

Network redundancy and client side routing for east-west traffic

VRRP, BGP, DNS, L4/7 LB

DNS, L4/7 LB, BGP*

Tunnels to RE

2 tunnels per cluster

2 tunnels per node

Tunnels to other CEs (SMG or DCG)

1 tunnel from each cluster

1 tunnel from each node

External traffic processing

Limited to 2 nodes

All nodes will be active

Internal traffic processing

All nodes can be active

All nodes can be active

Scale management in Public Cloud Sites

Straightforward, by configuring ingress interfaces in Azure/AWS/GCP sites

Straightforward, by adding or removing the labels

Scale management in Secure Mesh Sites

Requires reconfiguring the cluster (secure mesh site) - may cause interruption

Straightforward, by adding or removing the labels

Custom VIP IP

Available

Not Available (Planned to be available in future releases), workaround available.

Node sizes

All nodes should be same size. Upgrading node size in a cluster is a disruptive operation.

Any node sizes or clusters can join the Virtual Site

* When using BGP, please note a current limitation that prevents configuring custom VIP addresses on the Virtual Site.

 

Conclusion:

F5 Distributed Cloud offers a flexible approach to High Availability (HA) across CE nodes, allowing customers to select the redundancy model that best fits their specific use cases and requirements.

While we continue to advocate for default clustering approach due to their operational simplicity and shared VRRP VIP or, unified network configuration benefits, especially for routine tasks like upgrades, the Virtual Site and single node HA model presents some great use cases.  It not only addresses the limitations and challenges of the default clustering model, but also introduces a solution that is both scalable and adaptable. While Virtual Sites offer their own benefits, we recognize they also present trade-offs. The overall benefits, particularly for scenarios demanding high ingress (RE to CE) throughput and controlled failover capabilities cater to specific customer demands.

The F5 product and development team remains committed to addressing the limitations of both default clustering and Virtual Sites discussed throughout this article. Their focus is on continuous improvement and finding the solutions that best serve our customers’ needs.

 

References and Additional Links:

Updated Jun 18, 2024
Version 2.0

Was this article helpful?

No CommentsBe the first to comment