Skip to main content

Clusters

This article refers to Platform v3.1.0. The current Platform version is v3.2.0.

Overview

A Docker Swarm cluster is a group of Docker nodes—physical or virtual machines—that work together as a single, coordinated system to deploy and manage containerized applications. Within the cluster, one or more nodes act as managers, orchestrating the deployment and scaling of services, while the remaining nodes operate as workers, running the actual application workloads.

In the context of Barbara, a Swarm cluster enables high availability, fault tolerance, and scalable orchestration at the edge. This architecture ensures that applications and services continue running seamlessly—even when individual nodes go offline or are updated—by redistributing workloads and maintaining consistent configuration across all nodes in the cluster.

Swarm clustering is the backbone of Barbara's HA strategy, offering a reliable and production-grade way to manage edge deployments with minimal downtime and maximum resilience.

Clusters View

The Clusters view in the Barbara Panel UI allows users to create, manage, and monitor Docker Swarm clusters efficiently. This interface provides detailed information about each cluster and offers quick actions for cluster management.

In this view, users can see the following information for each cluster:

  • Cluster Name: The name assigned to the cluster.
  • Cluster Status: The current health status of the cluster, such as "Healthy."
  • Online: The number of nodes currently online in the cluster.
  • Availability: The number of nodes that are active and available.
  • Apps/Models: The count of applications and models deployed within the cluster.
  • Virtual IP: The virtual IP assigned to the cluster node and whether this feature is enabled.

Two quick actions are available for each cluster:

  • Edit Cluster: Opens the modal to edit cluster details.
  • Delete Cluster: Allows removal of a cluster.

Additional features in this view include:

  • Preferences: Users can customize which columns are visible in the cluster list.
  • Search: A search input enables filtering clusters by name or other attributes.
  • Add Cluster: A button to add a new cluster, which opens a modal with two configuration steps.

Clusters View showing cluster details, status, and quick actions

Clusters View showing cluster details, status, and quick actions

Creating a New Cluster

To create a new cluster, click the "+ Add Cluster" button in the Clusters view. This opens a modal with two main parts for configuration.

Cluster Definition

In the first step of the cluster creation modal, users provide the core details of the new cluster. This includes:

  • Cluster name
  • Enable Cluster Volumes
  • Enable Virtual IP
  • Define Synctime (a real number greater than 0.005)
  • Configure Swarm Overlay Networks by specifying the Subnet Size
  • Define the Default Address Pool by adding multiple IP addresses and their netmasks

This step also includes advanced settings to fine-tune network configurations.

Cluster Definition modal with fields for cluster name, virtual IP, synctime, and network settings

Cluster Definition modal with fields for cluster name, virtual IP, synctime, and network settings

Node Details

In the second step, users define the nodes that will form the cluster. For each node, the following can be configured:

  • Advertised Address: The fixed IP address advertised by the node.
  • Swarm Traffic Restriction: Optionally restrict Swarm traffic to a single network interface by selecting the desired interface.
  • Node Labels: Assign key-value pairs as labels to characterize nodes, which can be used later to filter or target deployments.

A minimum of three nodes is recommended for high availability.

Node Details modal showing node selection, advertised address, swarm interface, and node labels

Node Details modal showing node selection, advertised address, swarm interface, and node labels


This documentation provides a comprehensive guide to managing Docker Swarm clusters within Barbara Panel, ensuring users can efficiently deploy and maintain resilient edge computing environments.