Skip to content

Commit 744087b

Browse files
kaitlynmichaelredisdocsapp[bot]cmilesbgithub-actions[bot]oshribr
authored
K8s: Wisconsin release (#1321)
--------- Co-authored-by: redisdocsapp[bot] <177626021+redisdocsapp[bot]@users.noreply.github.com> Co-authored-by: Cameron Bates <cameron.bates@redis.com> Co-authored-by: Cameron Bates <102550101+cmilesb@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: oshri barazani <oshribr@gmail.com> Co-authored-by: Zvi Cahana <zcahana@users.noreply.github.com> Co-authored-by: andy-stark-redis <164213578+andy-stark-redis@users.noreply.github.com> Co-authored-by: Rachel Elledge <86307637+rrelledge@users.noreply.github.com> Co-authored-by: mich-elle-luna <153109578+mich-elle-luna@users.noreply.github.com>
1 parent 2c83bfe commit 744087b

File tree

87 files changed

+37039
-261
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

87 files changed

+37039
-261
lines changed

content/embeds/k8s/log_collector_role_all_mode.md

-7
Original file line numberDiff line numberDiff line change
@@ -170,13 +170,6 @@ rules:
170170
verbs:
171171
- get
172172
- list
173-
- apiGroups:
174-
- policy
175-
resources:
176-
- podsecuritypolicy
177-
verbs:
178-
- get
179-
- list
180173
- apiGroups:
181174
- certificates.k8s.io
182175
resources:

content/embeds/k8s/openshift_rec.md

+18-2
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,27 @@ metadata:
66
labels:
77
app: redis-enterprise
88
spec:
9-
# Add fields here
9+
# The number of Redis Enterprise nodes in the clusters.
1010
nodes: 3
11+
12+
persistentSpec:
13+
# Whether to enable persistent storage for the Redis Enterprise nodes.
14+
enabled: true
15+
16+
# The size of the persistent volume for each Redis Enterprise node.
17+
volumeSize: 20Gi
18+
19+
# The resources allocated to each Redis Enterprise node.
20+
redisEnterpriseNodeResources:
21+
requests:
22+
cpu: 2
23+
memory: 4Gi
24+
limits:
25+
cpu: 2
26+
memory: 4Gi
1127
redisEnterpriseImageSpec:
1228
repository: registry.connect.redhat.com/redislabs/redis-enterprise
13-
versionTag: 7.8.4-66.rhel8-openshift
29+
versionTag: 7.8.6-13
1430
redisEnterpriseServicesRiggerImageSpec:
1531
repository: registry.connect.redhat.com/redislabs/services-manager
1632
bootstrapperImageSpec:

content/embeds/k8s/openshift_role.md

+2-20
Original file line numberDiff line numberDiff line change
@@ -22,18 +22,7 @@ rules:
2222
- apiGroups:
2323
- app.redislabs.com
2424
resources:
25-
- redisenterpriseclusters
26-
- redisenterpriseclusters/status
27-
- redisenterpriseclusters/finalizers
28-
- redisenterprisedatabases
29-
- redisenterprisedatabases/status
30-
- redisenterprisedatabases/finalizers
31-
- redisenterpriseremoteclusters
32-
- redisenterpriseremoteclusters/status
33-
- redisenterpriseremoteclusters/finalizers
34-
- redisenterpriseactiveactivedatabases
35-
- redisenterpriseactiveactivedatabases/status
36-
- redisenterpriseactiveactivedatabases/finalizers
25+
- "*"
3726
verbs:
3827
- delete
3928
- get
@@ -93,6 +82,7 @@ rules:
9382
- get
9483
- list
9584
- watch
85+
- update
9686
- apiGroups:
9787
- ""
9888
resources:
@@ -138,14 +128,6 @@ rules:
138128
- create
139129
- delete
140130
- watch
141-
- apiGroups:
142-
- policy
143-
resourceNames:
144-
- redis-enterprise-psp
145-
resources:
146-
- podsecuritypolicies
147-
verbs:
148-
- use
149131
- apiGroups:
150132
- networking.k8s.io
151133
resources:

content/embeds/k8s/reaadb.md

+2-1
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,14 @@
22
apiVersion: app.redislabs.com/v1alpha1
33
kind: RedisEnterpriseActiveActiveDatabase
44
metadata:
5-
name: reaadb-1
5+
name: reaadb
66
labels:
77
app: redis-enterprise
88
spec:
99
participatingClusters:
1010
# Participating cluster pointing to RERC named: 'new-york-1'.
1111
- name: new-york-1
12+
1213
# Participating cluster pointing to RERC named: 'boston-1'.
1314
- name: boston-1
1415
```

content/embeds/k8s/rec.md

+17-1
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,22 @@ metadata:
66
labels:
77
app: redis-enterprise
88
spec:
9-
# Add fields here
9+
# The number of Redis Enterprise nodes in the clusters.
1010
nodes: 3
11+
12+
persistentSpec:
13+
# Whether to enable persistent storage for the Redis Enterprise nodes.
14+
enabled: true
15+
16+
# The size of the persistent volume for each Redis Enterprise node.
17+
volumeSize: 20Gi
18+
19+
# The resources allocated to each Redis Enterprise node.
20+
redisEnterpriseNodeResources:
21+
requests:
22+
cpu: 2
23+
memory: 4Gi
24+
limits:
25+
cpu: 2
26+
memory: 4Gi
1127
```

content/embeds/k8s/redb.md

+10-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,16 @@
22
apiVersion: app.redislabs.com/v1alpha1
33
kind: RedisEnterpriseDatabase
44
metadata:
5-
name: redis-enterprise-database
5+
name: redb
66
labels:
77
app: redis-enterprise
8+
spec:
9+
# Memory size of the database.
10+
memorySize: 256MB
11+
12+
# Number of shards in the database.
13+
shardCount: 1
14+
15+
# Determines whether replication will be enabled for the database.
16+
replication: false
817
```

content/embeds/k8s/rerc.md

+9-6
Original file line numberDiff line numberDiff line change
@@ -2,21 +2,24 @@
22
apiVersion: app.redislabs.com/v1alpha1
33
kind: RedisEnterpriseRemoteCluster
44
metadata:
5-
# Your name of the RERC.
65
name: new-york-1
76
labels:
87
app: redis-enterprise
98
spec:
10-
# The name of the REC that the RERC is pointing at
9+
# The name of the REC that the RERC is pointing at.
1110
recName: rec
12-
# The Namespace of the REC that the RERC is pointing at
11+
12+
# The namespace of the REC that the RERC is pointing at.
1313
recNamespace: ns1
14-
# The URL of the cluster, will be used for the active-active database URL
14+
15+
# The URL of the cluster, will be used for the active-active database URL.
1516
apiFqdnUrl: testapi-new-york-1-ns1.redislabs.com
17+
1618
# The database URL suffix, will be used for the active-active
17-
# database replication endpoint and replication endpoint SNI
19+
# database replication endpoint and replication endpoint SNI.
1820
dbFqdnSuffix: -example-new-york-1-ns1.redislabs.com
21+
1922
# The name of the secret containing cluster credentials.
20-
# Need to follow format: "redis-enterprise-<RERC name>"'
23+
# Needs to be formatted as: "redis-enterprise-<RERC name>"
2124
secretName: redis-enterprise-new-york-1
2225
```

content/embeds/k8s/role.md

+2-20
Original file line numberDiff line numberDiff line change
@@ -22,18 +22,7 @@ rules:
2222
- apiGroups:
2323
- app.redislabs.com
2424
resources:
25-
- redisenterpriseclusters
26-
- redisenterpriseclusters/status
27-
- redisenterpriseclusters/finalizers
28-
- redisenterprisedatabases
29-
- redisenterprisedatabases/status
30-
- redisenterprisedatabases/finalizers
31-
- redisenterpriseremoteclusters
32-
- redisenterpriseremoteclusters/status
33-
- redisenterpriseremoteclusters/finalizers
34-
- redisenterpriseactiveactivedatabases
35-
- redisenterpriseactiveactivedatabases/status
36-
- redisenterpriseactiveactivedatabases/finalizers
25+
- "*"
3726
verbs:
3827
- delete
3928
- get
@@ -93,6 +82,7 @@ rules:
9382
- get
9483
- list
9584
- watch
85+
- update
9686
- apiGroups:
9787
- ""
9888
resources:
@@ -138,14 +128,6 @@ rules:
138128
- create
139129
- delete
140130
- watch
141-
- apiGroups:
142-
- policy
143-
resourceNames:
144-
- redis-enterprise-psp
145-
resources:
146-
- podsecuritypolicies
147-
verbs:
148-
- use
149131
- apiGroups:
150132
- networking.k8s.io
151133
resources:
+17
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
---
2+
Title: Redis Enterprise for Kubernetes
3+
alwaysopen: false
4+
categories:
5+
- docs
6+
- operate
7+
- kubernetes
8+
description: The Redis Enterprise operators allows you to use Redis Enterprise for
9+
Kubernetes.
10+
hideListLinks: false
11+
linkTitle: 7.8.4
12+
weight: 50
13+
url: '/operate/kubernetes/7.8.4/'
14+
---
15+
16+
Kubernetes provides enterprise orchestration of containers and has been widely adopted. Redis Enterprise for Kubernetes provides a simple way to get a Redis Enterprise cluster on Kubernetes and enables more complex deployment scenarios.
17+
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,99 @@
1+
---
2+
Title: Active-Active databases
3+
alwaysopen: false
4+
categories:
5+
- docs
6+
- operate
7+
- kubernetes
8+
description: Content related to Active-Active Redis Enterprise databases for Kubernetes.
9+
hideListLinks: true
10+
linkTitle: Active-Active databases
11+
weight: 40
12+
url: '/operate/kubernetes/7.8.4/active-active/'
13+
---
14+
15+
On Kubernetes, Redis Enterprise [Active-Active]({{< relref "/operate/rs/databases/active-active/" >}}) databases provide read and write access to the same dataset from different Kubernetes clusters.
16+
17+
## Active-Active setup methods
18+
19+
There are two methods for creating an Active-Active database with Redis Enterprise for Kubernetes:
20+
21+
- The `RedisEnterpriseActiveActiveDatabase` (REAADB) custom resource is available for versions 6.4.2 and later.
22+
- The `crdb-cli` method is available for versions 6.4.2 or earlier.
23+
24+
25+
We recommend creating new Active-Active databases using the RedisEnterpriseActiveActiveDatabase (REAADB) custom resource. This allows you to manage your Active-Active database with the operator and ensures you have the latest features and functionality.
26+
27+
### Active-Active controller method
28+
29+
Versions 6.4.2-6 or later fully support the Active-Active controller. Some of these features were available as a preview in 6.4.2-4 and 6.4.2-5. Please upgrade to 6.4.2-6 for the full set of general availability features and bug fixes.
30+
31+
This setup method includes the following steps:
32+
33+
1. Gather REC credentials and [prepare participating clusters]({{< relref "/operate/kubernetes/active-active/prepare-clusters.md" >}}).
34+
2. Create [`RedisEnterpriseRemoteCluster` (RERC)]({{< relref "/operate/kubernetes/active-active/create-reaadb#create-rerc" >}}) resources.
35+
3. Create [`RedisEnterpriseActiveActiveDatabase` (REAADB)]({{< relref "/operate/kubernetes/active-active/create-reaadb#create-reaadb" >}}) resource.
36+
37+
### `crdb-cli` method
38+
39+
For versions 6.4.2 or earlier, this Active-Active setup method includes the following steps:
40+
41+
1. Install and configure an ingress.
42+
2. Gather configuration details.
43+
3. Add the `ActiveActive` field to the REC spec.
44+
4. Create the database with the `crdb-cli` tool.
45+
46+
## Redis Enterprise Active-Active controller for Kubernetes
47+
48+
{{<note>}}These features are supported for general availability in releases 6.4.2-6 and later.{{</note>}}
49+
50+
[Active-Active]({{< relref "/operate/rs/databases/active-active/" >}}) databases give you read-and-write access to Redis Enterprise clusters (REC) in different Kubernetes clusters or namespaces. Active-Active deployments managed by the Redis Enterprise operator require two additional custom resources: Redis Enterprise Active-Active database (REAADB) and Redis Enterprise remote cluster (RERC).
51+
52+
To create an Active-Active Redis Enterprise deployment for Kubernetes with these new features, first [prepare participating clusters]({{< relref "/operate/kubernetes/active-active/prepare-clusters.md" >}}) then [create an Active-Active database]({{< relref "/operate/kubernetes/active-active/create-reaadb.md" >}}).
53+
54+
### Preview versions
55+
56+
If you are using a preview version of these features (operator version 6.4.2-4 or 6.4.2-5), you'll need to enable the Active-Active controller with the following steps. You need to do this only once per cluster. We recommend using the fully supported 6.4.2-6 version.
57+
58+
1. Download the custom resource definitions (CRDs) for the most recent release (6.4.2-4) from [redis-enterprise-k8s-docs Github](https://github.com/RedisLabs/redis-enterprise-k8s-docs/tree/master/crds).
59+
60+
1. Apply the new CRDs for the Redis Enterprise Active-Active database (REAADB) and Redis Enterprise remote cluster (RERC) to install those controllers.
61+
62+
```sh
63+
kubectl apply -f crds/reaadb_crd.yaml
64+
kubectl apply -f crds/rerc_crd.yaml
65+
```
66+
67+
1. Enable the Active-Active and remote cluster controllers on the operator ConfigMap.
68+
69+
```sh
70+
kubectl patch cm operator-environment-config --type merge --patch "{\"data\": \
71+
{\"ACTIVE_ACTIVE_DATABASE_CONTROLLER_ENABLED\":\"true\", \
72+
\"REMOTE_CLUSTER_CONTROLLER_ENABLED\":\"true\"}}"
73+
74+
75+
### REAADB custom resource
76+
77+
Redis Enterprise Active-Active database (REAADB) contains a link to the RERC for each participating cluster, and provides configuration and status to the management plane.
78+
79+
For a full list of fields and options, see the [REAADB API reference]({{<relref "/operate/kubernetes/reference/redis_enterprise_active_active_database_api">}}).
80+
81+
### RERC custom resource
82+
83+
Redis Enterprise remote cluster (RERC) custom resource contains configuration details for all the participating clusters.
84+
85+
For a full list of fields and options, see the [RERC API reference]({{<relref "/operate/kubernetes/reference/redis_enterprise_remote_cluster_api">}}).
86+
87+
### Limitations
88+
89+
* Existing Redis databases cannot be migrated to a REAADB. (DOC-3594)
90+
* Admission is not blocking REAADB with `shardCount` which exceeds license quota. (RED-96301)
91+
Workaround: Fix the problems with the REAADB and reapply.
92+
* The `<rec-name>/<rec-namespace>` value must be unique for each RERC resource. (RED-96302)
93+
* Only global database options are supported, no support for specifying configuration per location.
94+
* No support for migration from old (`crdb-cli`) Active-Active database method to new Active-Active controller.
95+
* No support for REAADB with participating clusters co-located within the same Kubernetes cluster, except for a single designated local participating cluster.
96+
97+
## More info
98+
99+
For more general information about Active-Active, see the [Redis Enterprise Software docs]({{< relref "/operate/rs/databases/active-active/" >}}).

0 commit comments

Comments
 (0)