You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: content/operate/kubernetes/re-clusters/multi-namespace.md
+39-3
Original file line number
Diff line number
Diff line change
@@ -16,7 +16,9 @@ Multiple Redis Enterprise database resources (REDBs) can be associated with a si
16
16
17
17
To learn more about designing a multi-namespace Redis Enterprise cluster, see [flexible deployment options]({{< relref "/operate/kubernetes/architecture/deployment-options.md" >}}).
18
18
19
-
{{<warning>}} Multi-namespace installations don't support Active-Active databases (REAADB). Only databases created with the REDB resource are supported in multi-namespace deployments at this time.{{</warning>}}
19
+
{{<note>}}
20
+
Multi-namespace installations now support Active-Active databases (REAADB) with certain configuration requirements. For details, see [Multi-namespace Active-Active databases](#multi-namespace-active-active-databases).
If the REC is configured to watch a namespace without setting the role and role binding permissions, or a namespace that is not yet created, the operator will fail and halt normal operations.
99
101
{{</note>}}
100
102
101
-
102
103
## Update Redis Enterprise operator ConfigMap
103
104
104
105
There are two methods of updating the operator ConfigMap (`operator-environment-config`) to specify which namespaces to manage.
@@ -108,6 +109,9 @@ There are two methods of updating the operator ConfigMap (`operator-environment-
108
109
109
110
You can create this ConfigMap manually before deployment, or it will be created automatically after the operator was deployed.
110
111
112
+
{{<warning>}}
113
+
Only configure the operator to watch a namespace after the namespace is created and configured with the role/role_binding as explained above. If configured to watch a namespace without setting those permissions or a namespace that is not created yet, the operator will fail and not perform normal operations.
114
+
{{</warning>}}
111
115
112
116
### Method 1: Namespace label (available in versions 6.4.2-4 or later)
You can also deploy `RedisEnterpriseActiveActiveDatabase` (REAADB) objects in consumer namespaces separate from the Redis Enterprise operator or cluster (REC) namespace.
195
+
196
+
To do this:
197
+
198
+
1. Configure each participating cluster’s operator to watch the relevant consumer namespace. See [multi-namespace operator setup](#update-redis-enterprise-operator-configmap).
199
+
2. Ensure all Active-Active prerequisites are met as described in [Configure Active-Active]({{<relref "content/operate/kubernetes/active-active/create-reaadb/">}}).
200
+
3. In your REAADB custom resource, specify the target consumer namespace using `metadata.namespace`. For each participating cluster, use the `namespace` field under `spec.participatingClusters` to indicate the namespace where the REAADB should be deployed.
201
+
4. If you are using a [global database secret]({{<relref "operate/kubernetes/active-active/global-db-secret/">}}), deploy the secret in each consumer namespace.
202
+
203
+
{{<note>}}
204
+
Apply the REAADB object to only one Kubernetes cluster. Based on the specified participating clusters and namespaces, the operator automatically creates the necessary resources in the other clusters.
205
+
{{</note>}}
206
+
207
+
For example:
208
+
209
+
```yaml
210
+
apiVersion: app.redislabs.com/v1alpha1
211
+
kind: RedisEnterpriseActiveActiveDatabase
212
+
metadata:
213
+
name: consumer-reaadb
214
+
namespace: consumer-namespace-main
215
+
spec:
216
+
participatingClusters:
217
+
- name: participating-cluster-main
218
+
- name: participating-cluster-peer
219
+
namespace: consumer-namespace-peer
220
+
globalConfigurations:
221
+
<your global configurations>
222
+
```
223
+
188
224
{{<warning>}}
189
-
Only configure the operator to watch a namespace after the namespace is created and configured with the role/role_binding as explained above. If configured to watch a namespace without setting those permissions or a namespace that is not created yet, the operator will fail and not perform normal operations.
225
+
Configure the operator to watch a namespace only after the namespace exists and the required `Role` and `RoleBinding` resources have been applied. If the operator is configured to watch a namespace that lacks these permissions or does not exist, it will fail and halt normal operations.
0 commit comments