{
  "schema_version": 2,
  "id": "operate/kubernetes/active-active/prepare-clusters",
  "title": "Prepare participating clusters",
  "url": "https://redis.io/docs/latest/operate/kubernetes/active-active/prepare-clusters/",
  "summary": "Prepare your participating RECs to be part of an Active-Active database deployment.",
  "tags": [
    "docs",
    "operate",
    "kubernetes"
  ],
  "last_updated": "2026-09-28T15:03:12+01:00",
  "page_type": "content",
  "content_hash": "c05a3af0ee47af8630606dcc958c3fc87a4772e9f9eb7be186fc09bd77b96c9a",
  "sections": [
    {
      "id": "prepare-participating-clusters",
      "title": "Prepare participating clusters",
      "role": "overview",
      "text": "Before you prepare your clusters to participate in an Active-Active database, make sure you've completed all the following steps and have gathered the information listed below each step.\n\n1. Configure the [admission controller and ValidatingWebhook](https://redis.io/docs/latest/operate/kubernetes/deployment/quick-start#enable-the-admission-controller/).\n\n2. Create two or more [RedisEnterpriseCluster (REC) custom resources](https://redis.io/docs/latest/operate/kubernetes/deployment/quick-start#create-a-redis-enterprise-cluster-rec) with enough [memory resources](https://redis.io/docs/latest/operate/rs/installing-upgrading/install/plan-deployment/hardware-requirements).\n   * Name of each REC (`<rec-name>`)\n   * Namespace for each REC (`<rec-namespace>`)\n\n3. Configure the REC [`ingressOrRoutes` field](https://redis.io/docs/latest/operate/kubernetes/networking/ingressorroutespec) and [create DNS records](https://redis.io/docs/latest/operate/kubernetes/networking/ingressorroutespec#configure-dns/).\n   * REC API hostname (`api-<rec-name>-<rec-namespace>.<subdomain>`)\n   * Database hostname suffix (`.db-<rec-name>-<rec-namespace>.<subdomain>`)\n\nNext you'll [collect credentials](#collect-rec-credentials) for your participating clusters and create secrets for the RedisEnterprsieRemoteCluster (RERC) to use.\n\nFor a list of example values used throughout this article, see the [Example values](#example-values) section."
    },
    {
      "id": "collect-rec-credentials",
      "title": "Collect REC credentials",
      "role": "content",
      "text": "To communicate with other clusters, all participating clusters will need access to the admin credentials for all other clusters.\n\n1. Create a file to hold the admin credentials for all participating RECs (such as `all-rec-secrets.yaml`).\n\n1. Within that file, create a new secret for each participating cluster named `redis-enterprise-<rerc-name>`.\n\n    The example below shows a file (`all-rec-secrets.yaml`) holding secrets for two participating clusters:\n\n    [code example]\n\n1. Get the REC credentials secret for each participating cluster.\n\n    [code example]\n\n    The admin credentials secret for an REC named `rec-chicago` would be similar to this:\n\n    [code example]\n\n    > [!NOTE]\n    > The `username` and `password` values should be base64 encoded, not plain text.\n\n1. Add the username and password to the new secret for that REC and namespace.\n\n    This example shows the collected secrets file (`all-rec-secrets.yaml`) for `rerc-ohare` (representing `rec-chicago` in namespace `ns-illinois`) and `rerc-reagan` (representing `rec-arlington` in namespace `ns-virginia`).\n\n    [code example]\n\n1. Apply the file of collected secrets to every participating REC.\n\n    [code example]\n\n   If the admin credentials for any of the clusters changes, the file will need to be updated and reapplied to all clusters."
    },
    {
      "id": "next-steps",
      "title": "Next steps",
      "role": "content",
      "text": "Now you are ready to [create your Redis Enterprise Active-Active database](https://redis.io/docs/latest/operate/kubernetes/active-active/create-reaadb)."
    },
    {
      "id": "example-values",
      "title": "Example values",
      "role": "example",
      "text": "This article uses the example values listed below. They can also be found in the [YAML examples](https://redis.io/docs/latest/operate/kubernetes/reference/yaml/active-active) section.\n\nExample cluster 1:\n\n* REC name: `rec-chicago`\n* REC namespace: `ns-illinois`\n* RERC name: `rerc-ohare`\n* RERC secret name: `redis-enterprise-rerc-ohare`\n* API FQDN: `api-rec-chicago-ns-illinois.example.com`\n* DB FQDN suffix: `.db-rec-chicago-ns-illinois.example.com`\n\nExample cluster 2:\n\n* REC name: `rec-arlington`\n* REC namespace: `ns-virginia`\n* RERC name: `rerc-raegan`\n* RERC secret name: `redis-enterprise-rerc-reagan`\n* API FQDN: `api-rec-arlington-ns-virginia.example.com`\n* DB FQDN suffix: `.db-rec-arlington-ns-virginia.example.com`"
    }
  ],
  "examples": [
    {
      "id": "collect-rec-credentials-ex0",
      "language": "yaml",
      "code": "apiVersion: v1\n    data:\n      password: \n      username: \n    kind: Secret\n    metadata:\n      name: redis-enterprise-rerc-ohare\n    type: Opaque\n\n    ---\n\n    apiVersion: v1\n    data:\n      password: \n      username: \n    kind: Secret\n    metadata:\n      name: redis-enterprise-rerc-reagan\n    type: Opaque",
      "section_id": "collect-rec-credentials"
    },
    {
      "id": "collect-rec-credentials-ex1",
      "language": "sh",
      "code": "kubectl get secret -o yaml <rec-name>",
      "section_id": "collect-rec-credentials"
    },
    {
      "id": "collect-rec-credentials-ex2",
      "language": "yaml",
      "code": "apiVersion: v1\n    data:\n      password: ABcdef12345\n      username: GHij56789\n    kind: Secret\n    metadata:\n      name: rec-chicago\n    type: Opaque",
      "section_id": "collect-rec-credentials"
    },
    {
      "id": "collect-rec-credentials-ex3",
      "language": "yaml",
      "code": "apiVersion: v1\n    data:\n      password: ABcdef12345\n      username: GHij56789\n    kind: Secret\n    metadata:\n      name: redis-enterprise-rerc-ohare\n    type: Opaque\n\n    ---\n\n    apiVersion: v1\n    data:\n      password: KLmndo123456\n      username: PQrst789010\n    kind: Secret\n    metadata:\n      name: redis-enterprise-rerc-reagan\n    type: Opaque",
      "section_id": "collect-rec-credentials"
    },
    {
      "id": "collect-rec-credentials-ex4",
      "language": "sh",
      "code": "kubectl apply -f <all-rec-secrets-file>",
      "section_id": "collect-rec-credentials"
    }
  ]
}
