Skip to main content

High Availability (HA) Deployment

This guide explains how to deploy Unstract in a High Availability configuration using the values-multi-az.yaml Helm values override. HA mode enables automatic failover and multi-replica deployments for Redis, RabbitMQ, and MinIO.

Prerequisites

Complete the standard Infrastructure Requirements and Deployment Guide before proceeding. HA mode is applied as an overlay on top of the standard deployment.

Overview

The HA configuration (values-multi-az.yaml) enables the following components:

ComponentHA ModeMechanism
RedisSentinel replication3-node cluster with automatic master failover via Sentinel
RabbitMQ3-node quorum queuesQuorum-based durability with automatic failover
MinIO5-node Operator-managed TenantDistributed object storage via MinIO Operator + Tenant CR

Prerequisites for HA Mode

1. Multi-AZ Kubernetes Cluster

Ensure your cluster spans multiple Availability Zones with topology spread constraints supported.

2. Install MinIO Operator (One-Time Cluster Setup)

The MinIO Operator is cluster-scoped and must be installed once per cluster before enabling MinIO HA:

helm repo add minio-operator https://operator.min.io/
helm repo update
helm install minio-operator minio-operator/operator \
--namespace minio-operator --create-namespace \
--version 7.1.1
warning

MinIO HA mode (minio.ha.enabled: true) requires the MinIO Operator to be installed first. Enabling HA without the Operator will cause the deployment to fail.

Deploying with HA Mode

Apply the values-multi-az.yaml override in addition to your standard values files:

helm upgrade --install unstract-platform \
oci://us-central1-docker.pkg.dev/pandoras-tamer/charts/unstract-platform \
--version <version> \
-f /path/to/on-prem.values.yaml \
-f /path/to/on-prem.secret.yaml \
-f /path/to/values-multi-az.yaml \
-n unstract

The values-multi-az.yaml file can be extracted from the Helm chart registry for your target version — see the Download Configuration Files section on the On-Prem Release Notes page.

HA Component Details

Redis Sentinel

Redis runs in replication mode with Sentinel for automatic master election and failover.

What changes in HA mode:

  • Redis switches from standalone to replication architecture with 3 nodes
  • Sentinel pods monitor the cluster and promote a new master on failure
  • All application services connect via Sentinel (port 26379) instead of directly to the Redis master (port 6379)
  • AOF-only persistence is used (no RDB snapshots) for better performance under HA conditions

RabbitMQ

RabbitMQ runs in HA mode with quorum queues enabled, providing durable message delivery across replicas.

What changes in HA mode:

  • 3-node RabbitMQ cluster
  • Quorum queues replace classic mirrored queues for stronger consistency guarantees

MinIO

MinIO switches from standalone mode to an Operator-managed Tenant CR for distributed, fault-tolerant object storage.

What changes in HA mode:

  • Switches from standalone to a 5-node distributed Tenant managed by the MinIO Operator

Post-Deployment Validation

After deploying with HA mode, verify the HA components are healthy:

# Check all pods are running
kubectl get pods -n unstract

# Verify Redis Sentinel pods
kubectl get pods -n unstract -l app.kubernetes.io/component=sentinel

# Check RabbitMQ cluster nodes
kubectl exec -n unstract <rabbitmq-pod> -- rabbitmqctl cluster_status

# Check MinIO Tenant status (if using HA MinIO)
kubectl get tenants -n unstract

All Redis nodes should show one master and two replicas. Sentinel pods should report quorum achieved.