Skip to content

Support for cross-K8s-cluster replication for RedisReplication deployment type: added ExternalMaster configuration#1771

Open
sergmour wants to merge 1 commit into
OT-CONTAINER-KIT:mainfrom
sergmour:external-master
Open

Support for cross-K8s-cluster replication for RedisReplication deployment type: added ExternalMaster configuration#1771
sergmour wants to merge 1 commit into
OT-CONTAINER-KIT:mainfrom
sergmour:external-master

Conversation

@sergmour
Copy link
Copy Markdown

@sergmour sergmour commented May 13, 2026

Description

This PR adds a cross-K8s-cluster replication feature to RedisReplication deployment type. This functionality is essential for enterprise-type deployments as cross-region replication is a requirement, and K8s-clusters cannot span between regions and cloud providers.

The PR adds a slave-only mode to a RedisReplication deployment. In this mode all Redis servers are deployed as slaves connecting and replicating from the configured ExternalMaster. ExternalMaster is normally a host:port endpoint residing in a separate (primary) K8s cluster exposed by a LoadBalancer or NodePort.

A typical multi-K8s-cluster RedisReplication deployment would contain a primary RedisReplication deployment with 1 master, 2 slaves and 3 sentinels. Secondary (slave-only) deployments in other K8s clusters will contain just 3 slaves replicating from the primary master exposed by an LB or a NodePort. Below is a typical diagram:

diagram

The changes affect the following areas:

  • API for RedisReplication
  • CRD for RedisReplication
  • Operator code for RedisReplication and k8sutils
  • RedisReplication charts

Imlements issue #1772 - [Feature] Support cross-K8s-cluster replication for RedisReplication deployment type - add External-Master configuration

Type of change

  • New feature (non-breaking change which adds functionality)

Checklist

  • Tests have been added/modified and all tests pass.
  • Functionality/bugs have been confirmed to be unchanged or fixed.
  • I have performed a self-review of my own code.
  • Documentation has been updated or added where necessary.

Additional Context

  • Existing tests run fine.
  • Tested the feature in real cross-region K8s AKS-Azure clusters.
  • Documentation should be added when the feature is accepted. There are extensive comments in the code that explain how it works.

Signed-off-by: Sergei Mouravyov <sergei.mouravyov@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant