Active-Active examples

YAML examples for Active-Active Redis Enterprise databases across multiple Kubernetes clusters.

Redis Enterprise for Kubernetes

This page provides YAML examples for deploying Active-Active Redis Enterprise databases across multiple Kubernetes clusters. Active-Active databases provide multi-master replication with conflict resolution, enabling global distribution and local read/write access.

For complete deployment instructions, see Active-Active databases.

Applying the configuration

To deploy Active-Active databases using these YAML files, follow Create Active-Active database (REAADB), which provides detailed instructions for preparing clusters, creating RERC resources, and deploying REAADB configurations.

Namespace examples

A namespace is an abstraction used by Kubernetes to support multiple virtual clusters on the same physical cluster.

ns-illinois.yaml is used in Create Active-Active database.

apiVersion: v1
kind: Namespace
metadata:
  name: ns-illinois

ns-virginia.yaml is used in Create Active-Active database.

apiVersion: v1
kind: Namespace
metadata:
  name: ns-virginia

REC examples

A Redis Enterprise cluster is a collection of Redis Enterprise nodes that pools system resources across nodes and supports multi-tenant database instances.

rec-chicago.yaml is used in Create Active-Active database and Create RERC.

apiVersion: app.redislabs.com/v1
kind: RedisEnterpriseCluster
metadata:
  name: rec-chicago
  namespace: ns-illinois
spec:
  nodes: 3
  persistentSpec:
    enabled: true
    volumeSize: 20Gi
  redisEnterpriseNodeResources:
    requests:
      cpu: 2
      memory: 4Gi
    limits:
      cpu: 2
      memory: 4Gi

rec-arlington.yaml is used in Create Active-Active database and Create RERC.

apiVersion: app.redislabs.com/v1
kind: RedisEnterpriseCluster
metadata:
  name: rec-arlington
  namespace: ns-virginia
spec:
  nodes: 3
  persistentSpec:
    enabled: true
    volumeSize: 20Gi
  redisEnterpriseNodeResources:
    requests:
      cpu: 2
      memory: 4Gi
    limits:
      cpu: 2
      memory: 4Gi

RERC examples

RedisEnterpriseRemoteCluster represents a remote participating cluster.

rerc-ohare.yaml is used in the Create RERC section.

apiVersion: app.redislabs.com/v1alpha1
kind: RedisEnterpriseRemoteCluster
metadata:
  name: rerc-ohare
spec:
  recName: rec-chicago
  recNamespace: ns-illinois
  apiFqdnUrl: api-rec-chicago-ns-illinois.example.com
  dbFqdnSuffix: -db-rec-chicago-ns-illinois.example.com
  secretName: redis-enterprise-rerc-ohare

rerc-raegan.yaml is used in the Create RERC section.

apiVersion: app.redislabs.com/v1alpha1
kind: RedisEnterpriseRemoteCluster
metadata:
  name: rerc-raegan
spec:
  recName: rec-arlington
  recNamespace: ns-virginia
  apiFqdnUrl: test-example-api-rec-arlington-ns-virginia.example.com
  dbFqdnSuffix: -example-cluster-rec-arlington-ns-virginia.example.com
  secretName: redis-enterprise-rerc-raegan

RERC configuration

Edit the values in the downloaded YAML file for your specific setup, updating the remote cluster details, API endpoints, and secret names to match your actual environment.

Active-Active database examples

Active-Active databases are geo-distributed databases that span multiple Redis Enterprise clusters and use multi-primary replication and conflict-free replicated data types (CRDTs).

reaadb-boeing.yaml is used in the Create Active-Active database section.

apiVersion: app.redislabs.com/v1alpha1
kind: RedisEnterpriseActiveActiveDatabase
metadata:
  name: reaadb-boeing
spec:
  globalConfigurations:
    databaseSecretName: <my-secret>
    memorySize: 200MB
    shardCount: 3
  participatingClusters:
      - name: rerc-ohare
      - name: rerc-raegan

REAADB configuration

Edit the downloaded YAML file to add global database settings such as memory allocation, shard count, replication settings, database secrets, Redis modules, and database-specific Redis configuration.

RATE THIS PAGE
Back to top ↑