{
  "schema_version": 2,
  "id": "operate/kubernetes/active-active/create-reaadb",
  "title": "Create Active-Active database (REAADB)",
  "url": "https://redis.io/docs/latest/operate/kubernetes/7.22/active-active/create-reaadb/",
  "summary": "",
  "content": "\n\n\n## Prerequisites\n\nTo create 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   \u003e [!NOTE]\n   \u003e These are installed and enabled by default on clusters created via the OpenShift OperatorHub. \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 (`\u003crec-name\u003e`)\n   * Namespace for each REC (`\u003crec-namespace\u003e`)\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-\u003crec-name\u003e-\u003crec-namespace\u003e.\u003csubdomain\u003e`)\n   * Database hostname suffix (`-db-\u003crec-name\u003e-\u003crec-namespace\u003e.\u003csubdomain\u003e`)\n\n4. [Prepare participating clusters](https://redis.io/docs/latest/operate/kubernetes/active-active/prepare-clusters)\n   * RERC name (`\u003crerc-name`\u003e)\n   * RERC secret name (`redis-enterprise-\u003crerc-name\u003e`)\n\nFor a list of example values used throughout this article, see the [Example values](#example-values) section.\n\n## Create RERC custom resources {#create-rerc}\n\n1. Create a `RedisEnterpriseRemoteCluster` (RERC) custom resource file for each participating Redis Enterprise cluster (REC).\n\nBelow are examples of RERC resources for two participating clusters. Substitute your own values to create your own resource.\n\nExample RERC (`rerc-ohare`) for the REC named `rec-chicago` in the namespace `ns-illinois`:\n\n\n\nExample RERC (`rerc-raegan`) for the REC named `rec-arlington` in the namespace `ns-virginia`:\n\n\n\nFor more details on RERC fields, see the [RERC API reference](https://redis.io/docs/latest/operate/kubernetes/reference/api/redis_enterprise_remote_cluster_api).\n\n2. Create a Redis Enterprise remote cluster from each RERC custom resource file.\n  \n```sh\nkubectl create -f \u003crerc-file\u003e\n```\n\n3. Check the status of your RERC. If `STATUS` is `Active` and `SPEC STATUS` is `Valid`, then your configurations are correct.\n  \n```sh\nkubectl get rerc \u003crerc-name\u003e\n```\n\nThe output should look similar to:\n\n```sh\nkubectl get rerc rerc-ohare\n\nNAME        STATUS   SPEC STATUS   LOCAL\nrerc-ohare   Active   Valid         true\n```\n  \nIn case of errors, review the RERC custom resource events and the Redis Enterprise operator logs.\n\n## Create the REAADB {#create-reaadb}\n\n1. Create a `RedisEnterpriseActiveActiveDatabase` (REAADB) custom resource file meeting the naming requirements and listing the names of the RERC custom resources created in the last step.\n\nNaming requirements:\n* less than 63 characters\n* contains only lowercase letters, numbers, or hyphens\n* starts with a letter\n* ends with a letter or digit\n\nExample REAADB named `reaadb-boeing` linked to the REC named `rec-chicago` with two participating clusters and a global database configuration with shard count set to 3:\n\n\n\n\u003e [!NOTE]\n\u003e Sharding is disabled on Active-Active databases created with a `shardCount` of 1. Sharding cannot be enabled after database creation. \n\nFor more details on RERC fields, see the [RERC API reference](https://redis.io/docs/latest/operate/kubernetes/reference/api/redis_enterprise_remote_cluster_api).\n\n2. Create a Redis Enterprise Active-Active database from the REAADB custom resource file.\n  \n```sh\nkubectl create -f \u003creaadb-file\u003e\n```\n\n3. Check the status of your RERC. If `STATUS` is `Active` and `SPEC STATUS` is `Valid`, your configurations are correct.\n  \n```sh\nkubectl get reaadb \u003creaadb-name\u003e\n```\n\nThe output should look similar to:\n\n```sh\nkubectl get reaadb reaadb-boeing\n\nNAME              STATUS   SPEC STATUS   LINKED REDBS   REPLICATION STATUS\nreaadb-boeing     active   Valid                        up             \n```\n  \nIn case of errors, review the REAADB custom resource events and the Redis Enterprise operator logs.\n\n## Example values\n\nThis article uses the example values listed below. You can also find them 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`\n\n",
  "tags": ["docs","operate","kubernetes"],
  "last_updated": "2026-10-21T09:46:20-07:00"
}
