EFA Deployment for High Availability

Beginning with EFA 2.3.0, you can deploy EFA in a two-node cluster for high availability.

Overview

A high-availability cluster is a group of servers that provide continuous up time, or at least minimum down time, for the applications on the servers in the group. If an application on one server fails, another server in the cluster maintains the availability of the application.

In the following diagram, EFA is deployed in the TPVM running on SLX-OS. The two EFA instances are clustered and configured with one IP address, so that clients need to reach only one endpoint. All EFA services are installed on each node. The node on which EFA is installed is the active node and processes all requests. The other node is the standby.

All operations provided by EFA services must be idempotent, meaning they produce the same result for multiple identical requests or operations. For more information, see the "Idempotency" section of the Extreme Fabric Automation Administration Guide, 2.4.0 .

Click to expand in new window
Two-node high-availability deployment
EFA deployed in a two-node high-availability cluster
PV: Persistent Volume
A piece of storage in the cluster that was provisioned by an administrator.
PVC: Persistent Volume Claims
A request for storage, similar to how a Pod requests compute resources.
Brick
The basic unit of storage in GlusterFS, represented by an export directory on a server in the trusted storage pool.
SC: Storage Class
A description of the “classes” of storage in a Kubernetes realm.
SVC: Kubernetes Service
A logical set of Pods and a policy by which to access them.
ING: Kubernetes Ingress
A collection of routing rules that govern how external users access services running in a Kubernetes cluster.
RS: Kubernetes Replica Sets
Ensures how many replicas of a Pod should be running.
K3s
Manages the life cycle of the EFA services in failover or fallback scenarios.
Traefik
An embedded ingress controller (load balancer) packaged with K3s.
GlusterFS
A high-availability replicated volume that maintains the persistent storage for the K3s cluster, the EFA database, and EFA logs.
MariaDB
A database service deployed outside of the K3s cluster in active-standby mode.
RabbitMQ
A messaging service deployed in the cluster in active-active mode.

Services in high-availability mode

EFA services running on K3s are in active-active mode or active-standby mode, depending on the design of the service.
Table 1. EFA service modes
Service Mode
Authentication active-standby
RBAC active-standby
Tenant active-standby
Fabric active-standby
Inventory active-standby
RASlog active-active
Notification active-standby
System active-active
Hyper-V active-standby
OpenStack active-standby
vCenter active-standby
api-docs active-active
rabbitmq active-active