High Availability with Barbara
This article refers to Platform v3.1.0. The current Platform version is v3.2.0.
Overview
The High Availability (HA) support in Barbara Panel provides fault-tolerant, resilient, and continuous operation for your edge workloads. Powered by Docker Swarm and KeepAlived, this capability lets you deploy and manage edge clusters with increased reliability and minimal service disruption.
Core Features of High Availability
Cluster Creation
Easily create clusters with one or more edge nodes, which operate as a unified, highly available environment. Docker Swarm orchestrates these clusters, allowing services to run redundantly across multiple nodes to prevent downtime if a node fails.
Persistent Volumes
Configure highly available Docker volumes within your clusters to ensure data persistence and integrity. This protects your critical application state across node restarts or failovers.
Seamless Cluster Access
Each cluster can be assigned one or more virtual IP addresses (VIPs) using KeepAlived. These floating IPs automatically migrate between available nodes, guaranteeing continuous access to your services.
Swarm Overlay Network
Create secure, isolated, and scalable Swarm overlay networks scoped to the cluster. This enables seamless inter-node communication for containerized services.
Dynamic Node Management
Add new edge nodes to a cluster with advanced configurations:
- Labels for fine-grained scheduling and role assignment.
- Network interface restrictions to enable traffic control for enhanced security or performance.
Non-Disruptive Firmware Upgrades
Firmware updates are now non-disruptive. You can put nodes into "Drain" mode, which offloads their workloads to other available nodes. This ensures your services remain available while nodes are updated or maintained.
Cluster-Wide Configuration Sync
Barbara automatically synchronizes the Global Config across all nodes in the cluster. Any change you make at the cluster level is propagated to all members to ensure consistency.
Enhanced Cluster Visibility and Management
Get a clear view of your cluster's health and configuration with these features.
- Swarm Configuration Overview: View the current Swarm configuration, including the leader node, members, tokens, and cluster status, all from one central location.
- Centralized Secrets Management: Define Swarm secrets at the cluster level. These secrets are securely distributed to services using native Docker Swarm encryption.
- Docker Registry Credentials: Set up authentication for private Docker registries at the cluster level to ensure seamless application deployment.
Application and Model Deployment at Scale
Deploy applications and AI models with a focus on performance and availability.
Multi-Mode Deployment
Install applications and models at the cluster level with a range of deployment strategies:
- Replicated: Runs a specified number of identical tasks.
- Global: Runs one task on every available node.
- Replicated-job: Runs a replicated task until it completes.
- Global-job: Runs a global task until it completes.
You can also configure the number of replicas to fine-tune performance and availability.
Placement Constraints
For precise control over workload distribution, define placement constraints during installation. These constraints determine on which nodes a service should or should not run, based on node attributes like labels.