Skip to content

Commit 5c42cae

Browse files
draft
1 parent de65595 commit 5c42cae

File tree

1 file changed

+101
-24
lines changed
  • content/operate/kubernetes/active-active

1 file changed

+101
-24
lines changed
Lines changed: 101 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---
2-
Title: Remove failed participating cluster
2+
Title: Remove an unresponsive participating cluster
33
alwaysopen: false
44
categories:
55
- docs
@@ -9,43 +9,120 @@ description:
99
linkTitle: Remove RERC
1010
weight: 98
1111
---
12+
13+
When a RedisEnterpriseRemoteCluster (RERC) isn't communicating with other participating clusters, the RedisEnterpriseActiveActiveDatabase(REAADB) will enter an error state. To remedy this, you can remove the unresponsive RERC from the Active-Active database configuration.
1214

1315
## Prerequisites
1416

15-
## Identify failed RERC
17+
We strongly recommend backing up your cluster before proceeding with the following steps.
1618

17-
1.
19+
{{<warning>}}Proceed with caution. Ensure you are running the following command from the correct instance. Verify the status of the RERCs and REAADB before and after each step.{{</warning>}}
1820

19-
```sh
20-
kubectl get rerc
21-
```
21+
The followings steps use these example values. Remember to substitute these with your own values.
2222

23-
2.
23+
- RERCs: `new-york-1` (cluster name `rec1`), `new-york-2` (`rec2`) and `boston-1` (`rec3`)
24+
- `<REAADB_NAME>`: `example-aadb-1`
25+
- `<INSTANCE_ID>`: `3`
26+
-`<REAADB_GUID>`: `968d586c-e12d-4b8f-8473-42eb88d0a3a2`
2427

25-
```sh
26-
kubectl get reaadb <REAADB_NAME> -o yaml
27-
```
28+
## Identify unresponsive RERC
2829

29-
## Remove failed RERC
30+
1. From a functioning cluster, check the status of all your RERCs.
3031

31-
3.
32+
```sh
33+
kubectl get rerc
34+
```
3235

33-
```sh
34-
crdb-cli crdb remove-instance --crdb-guid <REAADB_GUID> --instance-id <INSTANCE_ID> --force
35-
```
36+
The unresponsive RERC will show an `Error` status (`new-york-2` in this example).
37+
38+
```sh
39+
NAME STATUS SPEC STATUS LOCAL
40+
new-york-1 Active Valid true
41+
new-york-2 Error Valid false
42+
boston-1 Active Valid false
43+
```
44+
45+
2. Find the `guid` of the REAADB and the instance `id` of the unresponsive cluster in the REAADB YAML file.
46+
47+
```sh
48+
kubectl get reaadb <REAADB_NAME> -o yaml
49+
```
50+
51+
<pre><code>
52+
apiVersion: app.redislabs.com/v1alpha1
53+
kind: RedisEnterpriseActiveActiveDatabase
54+
metadata:
55+
....
56+
name: example-aadb-1
57+
namespace: ns1
58+
....
59+
spec:
60+
....
61+
participatingClusters:
62+
- name: new-york-1
63+
- name: new-york-2
64+
- name: boston-1
65+
redisEnterpriseCluster:
66+
name: rec1
67+
status:
68+
<b>guid: 968d586c-e12d-4b8f-8473-42eb88d0a3a2</b>
69+
participatingClusters:
70+
- id: 1
71+
name: new-york-1
72+
- <b>id: 3</b>
73+
name: new-york-2
74+
replicationStatus: up
75+
- id: 2
76+
name: boston-1
77+
replicationStatus: up
78+
....
79+
status: error
80+
</code></pre>
81+
82+
## Remove RERC
83+
84+
3. From a working cluster, remove the unresponsive RERC from the Active-Active database.
3685

37-
4.
86+
{{<warning>}}Verify you are removing the correct instance before running this command.{{</warning>}}
3887

39-
5.
88+
```sh
89+
crdb-cli crdb remove-instance --crdb-guid <REAADB_GUID> --instance-id <INSTANCE_ID> --force
90+
```
91+
92+
4. Wait a few minutes until the REAADB status remains `active` consistently.
93+
94+
```sh
95+
kubectl get reaadb example-aadb-1
96+
NAME STATUS SPEC STATUS LINKED REDBS REPLICATION STATUS
97+
example-aadb-1 active Valid up
98+
```
99+
100+
5. Edit the REAADB to remove the unresponsive RERC from the `spec.particpatingClusters` section.
101+
102+
```sh
103+
kubectl edit reaadb <REAADB_NAME>
104+
```
105+
106+
6. Wait a few minutes until the REAADB status remains `active` consistently.
107+
108+
```sh
109+
kubectl get reaadb example-aadb-1
110+
NAME STATUS SPEC STATUS LINKED REDBS REPLICATION STATUS
111+
example-aadb-1 active Valid
112+
```
113+
114+
7. From each working participating cluster, repeat steps 5 and 6 to remove the RERC from the REAADB.
115+
116+
## Optional: Purge local data
117+
118+
If you want to delete REAADB data from the unresponsive cluster, you can run the `crdb-cli purge-instance` command from the unresponsive cluster.
119+
120+
{{<warning>}}Use with caution and verify you are purging the correct instance.{{</warning>}}
40121

41122
```sh
42-
kubectl edit reaadb <REAADB_NAME>
123+
crdb-cli crdb purge-instance --crdb-guid <REAADB_GUID> --instance-id <INSTANCE_ID>
43124
```
44125

45-
6.
126+
## Next steps
46127

47-
```sh
48-
kubectl get reaadb example-aadb-1
49-
NAME STATUS SPEC STATUS LINKED REDBS REPLICATION STATUS
50-
example-aadb-1 active Valid up
51-
```
128+
After the communication issue on the cluster is resolved, you can add it back to the REAADB configuration by following the steps for [Add a participating cluster]({{<relref "operate/kubernetes/active-active/edit-clusters#add-a-participating-cluster">}}.

0 commit comments

Comments
 (0)