Skip to content

Commit 2b8ee9b

Browse files
kaitlynmichaelredisdocsapp[bot]cmilesbdwdoughertygithub-actions[bot]
authored
K8s: Asgard release (#2568)
* 806 index page * fixed bugs, downloads, highlights * enhancements * api changes * supported distro in RN * finish RN edits * k8s api docs 8.0.6-6 (#2567) * RC Q4 Rebrand: Langcache * DEV: (cmds) update CLUSTER SLOT-STATS command page (#2563) * DEV: add redis-cli usage information to its main page (#2566) * DEV: add redis-cli usage information to its main page * Fix whitespace * k8s api docs 8.0.6-6 --------- Co-authored-by: Cameron Bates <[email protected]> Co-authored-by: David Dougherty <[email protected]> Co-authored-by: Cameron Bates <[email protected]> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * K8s: Redis Flex - Asgard release (#2453) * redis flex updates * edits for clarity and formatting * fix build issue * link fixes * K8s: User-defined modules (Asgard release) (#2524) * page improvements * upgrade prereqs * upgrade changes * upgrade notes * Update content/operate/kubernetes/upgrade/openshift-cli.md Co-authored-by: David Dougherty <[email protected]> * Update content/operate/kubernetes/upgrade/upgrade-olm.md Co-authored-by: David Dougherty <[email protected]> * fix links * install and modules page updates * rolling pod restart note * helm upgrade note * cluster recovery * upgrade troubleshooting * AA and flash limitations * links * add troubleshooting * copy edits * review feedback changes --------- Co-authored-by: David Dougherty <[email protected]> * supported distros updates * fix RN weights * update build numbers * DEV: (cmds) add RR diag. to FT.HYBRID; update CLUSTER MIGRATION (#2565) * Update note on 'attribute' in JSON index creation (#2569) * DOC-6125 RS: Added TLS Web Client Authentication requirement for INE certs (#2574) * RS 8.0.6 December release docs (#2522) * RS: SAML SSO (#2498) * DOC-5858 RS: Added SSO permissions to RS REST API reference * DOC-5858 RS: Added SSO requests and objects to RS REST API reference * DOC-5858 RS: Added more info about enforce_control_plane SSO to RS REST API reference * DOC-5858 RS: Added SSO auth_method to user object in RS REST API reference * DOC-5858 RS: Added SSO certs to RS REST API reference and certs list * DOC-5858 RS: Initial draft of SAML SSO for RS * DOC-5858 A few adjustments to RS SSO draft * DOC-5858 Added SSO setup steps for uploading SP cert and downloading SP metadata * DOC-5858 More adjustments to SSO setup in RS * DOC-5858 More adjustments to RS SSO setup * DOC-5858 More RS SSO edits * DOC-5858 Fixed in-page link in RS SSO * DOC-5858 Updated RS SSO REST API reference and examples * DOC-5858 Added test screenshot for RS SSO * DOC-5858 Added screenshots for RS SSO * DOC-5858 Added additional details/limitations for RS SSO * Feedback update to fix sso permissions tables * Feedback updates for SAML 2.0 and SP Entity ID port * Feedback update for SP-initiated SSO * Fixed SP metadata screenshot * DOC-5858 Feedback update to add instructions to change the SP address * RS: Added error report to Replica Of migration status REST API responses * RS: Added API references for migrate_slots and cancel_migrate_slots * DOC-5855 RS: 8.0.6 release notes * DOC-6083 RS: Add user-defined modules during bootstrapping (#2526) * Added known SSO issue and workaround to 8.0.6-50 December release notes * DOC-5856 Added build number to RS 8.0.6 December release notes * DOC-5856 Added checksums to RS 8.0.6 December release notes * Feedback update: remove slot migration * Updated build number for RS 8.0.6 Dec release * Updated checksums for RS 8.0.6 Dec release * Added cert and private_key fields to CRDB DB config object * Typo fix (#2575) * update build numbers + correction * link to RS rn * K8s: SSO - Asgard release (#2549) * AI rough draft * changes based off demo --------- Co-authored-by: redisdocsapp[bot] <177626021+redisdocsapp[bot]@users.noreply.github.com> Co-authored-by: Cameron Bates <[email protected]> Co-authored-by: David Dougherty <[email protected]> Co-authored-by: Cameron Bates <[email protected]> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Ignacio Sambrailo <[email protected]> Co-authored-by: Rachel Elledge <[email protected]> Co-authored-by: Jonathan Salomon <[email protected]>
1 parent e42c184 commit 2b8ee9b

File tree

20 files changed

+1501
-348
lines changed

20 files changed

+1501
-348
lines changed

content/embeds/k8s/openshift_rec.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ spec:
2727

2828
redisEnterpriseImageSpec:
2929
repository: registry.connect.redhat.com/redislabs/redis-enterprise
30-
versionTag: 8.0.2-17
30+
versionTag: 8.0.6-50
3131
redisEnterpriseServicesRiggerImageSpec:
3232
repository: registry.connect.redhat.com/redislabs/services-manager
3333
bootstrapperImageSpec:

content/embeds/k8s/openshift_role.md

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,17 +8,25 @@ metadata:
88
rules:
99
- apiGroups:
1010
- rbac.authorization.k8s.io
11-
- ""
1211
resources:
1312
- roles
14-
- serviceaccounts
1513
- rolebindings
1614
verbs:
1715
- create
1816
- get
1917
- update
2018
- patch
2119
- delete
20+
- apiGroups:
21+
- ""
22+
resources:
23+
- serviceaccounts
24+
verbs:
25+
- create
26+
- get
27+
- update
28+
- patch
29+
- delete
2230
- apiGroups:
2331
- app.redislabs.com
2432
resources:

content/embeds/k8s/role.md

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,17 +8,25 @@ metadata:
88
rules:
99
- apiGroups:
1010
- rbac.authorization.k8s.io
11-
- ""
1211
resources:
1312
- roles
14-
- serviceaccounts
1513
- rolebindings
1614
verbs:
1715
- create
1816
- get
1917
- update
2018
- patch
2119
- delete
20+
- apiGroups:
21+
- ""
22+
resources:
23+
- serviceaccounts
24+
verbs:
25+
- create
26+
- get
27+
- update
28+
- patch
29+
- delete
2230
- apiGroups:
2331
- app.redislabs.com
2432
resources:

content/operate/kubernetes/7.22/re-clusters/auto-tiering.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,10 @@ weight: 16
1111
url: '/operate/kubernetes/7.22/re-clusters/auto-tiering/'
1212
---
1313

14+
{{<note>}}
15+
This page applies to Redis Enterprise for Kubernetes version 7.22.2-22. If you use version 8.0.2-2 or later, see [Redis Flex](https://redis.io/docs/latest/operate/kubernetes/re-clusters/redis-flex).
16+
{{</note>}}
17+
1418
## Prerequisites
1519

1620
Redis Enterprise Software for Kubernetes supports using Auto Tiering (previously known as Redis on Flash), which extends your node memory to use both RAM and flash storage. SSDs (solid state drives) can store infrequently used (warm) values while your keys and frequently used (hot) values are still stored in RAM. This improves performance and lowers costs for large datasets.

content/operate/kubernetes/deployment/helm.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -149,6 +149,10 @@ The upgrade process automatically updates the operator and its components, inclu
149149

150150
After you upgrade the operator, you might need to upgrade your Redis Enterprise clusters, depending on the Redis software version bundled with the operator. For detailed information about the upgrade process, see [Redis Enterprise for Kubernetes upgrade documentation](https://redis.io/docs/latest/operate/kubernetes/upgrade/).
151151

152+
{{< note >}}
153+
If your databases use user-defined modules (custom non-bundled modules), you must take additional steps during the upgrade process. See [Upgrade with user-defined modules]({{< relref "/operate/kubernetes/upgrade/upgrade-redis-cluster#user-defined-modules" >}}) for details.
154+
{{< /note >}}
155+
152156
For more information and options when upgrading charts, see [helm upgrade](https://helm.sh/docs/helm/helm_upgrade/).
153157

154158
## Uninstall

content/operate/kubernetes/deployment/quick-start.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -263,6 +263,12 @@ The operator bundle includes a webhook file. The webhook will intercept requests
263263
Error from server: error when creating "STDIN": admission webhook "redisenterprise.admission.redislabs" denied the request: eviction_policy: u'illegal' is not one of [u'volatile-lru', u'volatile-ttl', u'volatile-random', u'allkeys-lru', u'allkeys-random', u'noeviction', u'volatile-lfu', u'allkeys-lfu']
264264
```
265265
266+
## Add user-defined modules (optional)
267+
268+
If you plan to create databases that use user-defined modules (custom non-bundled modules), you must add them to the REC custom resource before creating the databases.
269+
270+
See [User-defined modules]({{< relref "/operate/kubernetes/re-databases/modules#user-defined-modules" >}}) for detailed instructions on adding and configuring custom modules.
271+
266272
## Create a Redis Enterprise Database (REDB)
267273
268274
You can create multiple databases within the same namespace as your REC or in other namespaces.

content/operate/kubernetes/re-clusters/cluster-recovery.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,10 @@ The Redis Enterprise for Kubernetes automates these recovery steps:
2424

2525
{{<warning>}}Redis Enterprise for Kubernetes 7.2.4-2 introduces a new limitation. You cannot recover or upgrade your cluster if there are databases with old module versions or manually uploaded modules. See the [Redis Enterprise Software 7.2.4 known limitations]({{< relref "/operate/rs/release-notes/rs-7-2-4-releases/rs-7-2-4-52#cluster-recovery-with-manually-uploaded-modules" >}}) for more details.{{</warning>}}
2626

27+
{{< note >}}
28+
If your cluster uses user-defined modules, the recovery process doesn't block on module validation errors (such as URL or credential issues). The cluster can recover successfully, and you can resolve any module configuration issues after recovery is complete. See [User-defined modules]({{< relref "/operate/kubernetes/re-databases/modules#user-defined-modules" >}}) for more information.
29+
{{< /note >}}
30+
2731
## Prerequisites
2832

2933
- For cluster recovery, the cluster must be [deployed with persistence]({{< relref "/operate/kubernetes/recommendations/persistent-volumes" >}}).

content/operate/kubernetes/re-clusters/redis-flex.md

Lines changed: 99 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -10,84 +10,152 @@ linkTitle: Redis Flex
1010
weight: 16
1111
---
1212

13-
## Prerequisites
13+
{{<note>}}
14+
This page applies to Redis Enterprise for Kubernetes version 8.0.2-2 and later. If you use version 7.22.2-22 or earlier, see [Auto Tiering](https://redis.io/docs/latest/operate/kubernetes/7.22/re-clusters/auto-tiering/).
15+
{{</note>}}
16+
17+
## Overview
18+
19+
[Redis Flex]({{< relref "/operate/rs/databases/flash" >}}) (previously known as Redis on Flash) extends your node memory to use both RAM and flash storage. Solid state drives (SSDs) store infrequently used (warm) values, while RAM stores your keys and frequently used (hot) values. This approach improves performance and lowers costs for large datasets.
1420

15-
Redis Enterprise Software for Kubernetes supports using Redis Flex (previously known as Redis on Flash), which extends your node memory to use both RAM and flash storage. SSDs (solid state drives) can store infrequently used (warm) values while your keys and frequently used (hot) values are still stored in RAM. This improves performance and lowers costs for large datasets.
21+
Redis Flex provides automatic RAM management and improved performance compared to Auto Tiering.
1622

1723
{{<note>}}
18-
NVMe (non-volatile memory express) SSDs are strongly recommended to achieve the best performance.
24+
For best performance, use NVMe (non-volatile memory express) SSDs.
1925
{{</note>}}
2026

27+
28+
## Redis Flex vs Auto Tiering
29+
2130
{{<warning>}}
2231
Redis Flex is not supported for [Active-Active databases]({{< relref "/operate/kubernetes/active-active" >}}).
2332
{{</warning>}}
2433

2534
Before creating your Redis clusters or databases, these SSDs must be:
2635

27-
- [locally attached to worker nodes in your Kubernetes cluster](https://kubernetes.io/docs/concepts/storage/volumes/#local)
28-
- formatted and mounted on the nodes that will run Redis Enterprise pods
29-
- dedicated to Redis Flex and not shared with other parts of the database, (e.g. durability, binaries)
30-
- [provisioned as local persistent volumes](https://kubernetes.io/docs/concepts/storage/volumes/#local)
31-
- You can use a [local volume provisioner](https://github.com/kubernetes-sigs/sig-storage-local-static-provisioner/blob/master/README.md) to do this [dynamically](https://kubernetes.io/docs/concepts/storage/persistent-volumes/#dynamic)
32-
- a [StorageClass](https://kubernetes.io/docs/concepts/storage/storage-classes/#local) resource with a unique name
3336

34-
For more information on node storage, see [Node persistent and ephemeral storage]({{< relref "/operate/rs/installing-upgrading/install/plan-deployment/persistent-ephemeral-storage" >}}).
37+
The earlier implementation of Redis Flex is called Auto Tiering, which is available in Redis versions earlier than 8.0.
3538

36-
## Create a Redis Enterprise cluster
39+
The operator automatically selects the appropriate implementation based on your Redis version:
3740

38-
To deploy a Redis Enterprise cluster (REC) with Redis Flex, you'll need to specify the following in the `redisOnFlashSpec` section of your [REC custom resource]({{< relref "/operate/kubernetes/reference/api/redis_enterprise_cluster_api" >}}):
41+
- **Versions 7.22.2-22 and earlier:** Auto Tiering
42+
- **Versions 8.0.2-2 and later:** Redis Flex
3943

40-
- enable Redis Flex (`enabled: true`)
41-
- flash storage driver (`bigStoreDriver`)
42-
- `rocksdb` or `speedb`(default)
43-
- storage class name (`storageClassName`)
44-
- minimal flash disk size (`flashDiskSize`)
44+
Redis Flex differs from Auto Tiering in the following ways:
4545

46-
{{<note>}} Clusters upgraded to version 7.2.4-2 from an earlier version will change the `bigStoreDriver` (previously called `flashStorageEngine`) to the new default `speedb`, regardless of previous configuration. {{</note>}}
46+
**Redis Flex (8.0.2-2 and later)**
4747

48-
{{<warning>}}Switching between storage engines (`speedb` and `rocksdb`) requires guidance by Redis Support or your Account Manager.{{</warning>}}
48+
- Storage engine: Speedb only
49+
- RAM management: Automatic. Redis manages RAM allocation internally.
50+
- Configuration: `rofRamSize` isn't validated with minimum ratio requirements.
51+
- Redis versions: Redis 8.0 and later
4952

50-
{{<warning>}}PVC expansion is not supported when using Redis Flex. Do not enable `enablePersistentVolumeResize` in the REC `persistentSpec` if you are using `redisOnFlashSpec` as this will result in conflicts. {{</warning>}}
53+
**Auto Tiering ( 7.22.2-22 and earlier)**
5154

52-
Here is an example of an REC custom resource with these attributes:
55+
- Storage engine: RocksDB or Speedb
56+
- RAM management: Manual. Requires explicit `rofRamSize` configuration.
57+
- Validation: `rofRamSize` must be at least 10% of `memorySize` and can't exceed `memorySize`.
58+
- Redis versions: Redis versions earlier than 8.0
5359

54-
```YAML
60+
The operator doesn't support Redis 7.4 preview for Redis Flex. Redis 7.4 databases use Auto Tiering regardless of cluster policy. To use Redis Flex, upgrade to Redis 8.0 or later.
61+
62+
## Prerequisites
63+
64+
Before you create your Redis clusters or databases, ensure that your SSDs meet the following requirements:
65+
66+
- [Locally attached to worker nodes in your Kubernetes cluster](https://kubernetes.io/docs/concepts/storage/volumes/#local)
67+
- Formatted and mounted on the nodes that run Redis Enterprise pods
68+
- Dedicated to Redis Flex and not shared with other parts of the database (for example, durability or binaries)
69+
- [Provisioned as local persistent volumes](https://kubernetes.io/docs/concepts/storage/volumes/#local)
70+
- You can use a [local volume provisioner](https://github.com/kubernetes-sigs/sig-storage-local-static-provisioner/blob/master/README.md) to provision volumes [dynamically](https://kubernetes.io/docs/concepts/storage/persistent-volumes/#dynamic).
71+
- Configured with a [StorageClass](https://kubernetes.io/docs/concepts/storage/storage-classes/#local) resource that has a unique name
72+
73+
For more information about node storage, see [Node persistent and ephemeral storage]({{< relref "/operate/rs/installing-upgrading/install/plan-deployment/persistent-ephemeral-storage" >}}).
74+
75+
## Create a Redis Enterprise cluster
76+
77+
To deploy a Redis Enterprise cluster (REC) with Redis Flex, specify the following fields in the `redisOnFlashSpec` section of your [REC custom resource]({{< relref "/operate/kubernetes/reference/api/redis_enterprise_cluster_api#specredisonflashspec" >}}):
78+
79+
- `enabled: true` - Enables Redis Flex
80+
- `bigStoreDriver: speedb` - Sets the flash storage driver
81+
- `storageClassName` - Specifies the storage class name
82+
- `flashDiskSize` - Sets the minimum flash disk size
83+
84+
{{<warning>}}
85+
Redis Flex doesn't support PVC expansion. Do not enable `enablePersistentVolumeResize` in the REC `persistentSpec` if you use `redisOnFlashSpec`. Enabling both will cause conflicts.
86+
{{</warning>}}
87+
88+
The following example shows a Redis Enterprise cluster custom resource with these fields:
89+
90+
```yaml
5591
apiVersion: app.redislabs.com/v1
5692
kind: RedisEnterpriseCluster
5793
metadata:
5894
name: "rec"
95+
labels:
96+
app: redis-enterprise
5997
spec:
60-
6198
nodes: 3
6299
redisOnFlashSpec:
63100
enabled: true
64-
bigStoreDriver: speedb
101+
bigStoreDriver: speedb # Only 'speedb' is suitable for Redis Flex
65102
storageClassName: local-scsi
66103
flashDiskSize: 100G
67104
```
68105
69-
### Create a Redis Enterprise database
106+
{{<note>}}
107+
108+
- Set the `enabled` field to `true`.
109+
- Use `bigStoreDriver: speedb` for Redis Flex support on Redis 8.0 and later.
110+
- The `flashStorageEngine` field is deprecated. Use `bigStoreDriver` instead.
111+
112+
{{</note>}}
70113

71-
By default, any new database will use RAM only. To create a Redis Enterprise database (REDB) that can use flash storage, specify the following in the `redisEnterpriseCluster` section of the REDB custom resource definition:
114+
## Create a Redis Enterprise database
72115

73-
- `isRof: true` enables Redis Flex
74-
- `rofRamSize` defines the RAM capacity for the database
116+
By default, new databases use RAM only. To create a Redis Enterprise database (REDB) that uses Redis Flex and takes advantage of locally attached SSDs, set `isRof` to `true`.
75117

76-
Below is an example REDB custom resource:
118+
Specify the following fields in the REDB custom resource:
119+
120+
- `isRof: true` - Enables Redis Flex
121+
- `redisVersion` - Set to `"8.0"` or later
122+
- `memorySize` - Defines the total combined memory size (RAM + flash)
123+
- `rofRamSize` - (Optional) Defines the RAM capacity for the database
124+
125+
The following example shows a REDB custom resource:
77126

78127
```YAML
79128
apiVersion: app.redislabs.com/v1alpha1
80129
kind: RedisEnterpriseDatabase
81130
metadata:
82-
name: autoteiring-redb
131+
name: redis-flex-db
83132
spec:
84133
redisEnterpriseCluster:
85134
name: rec
86135
isRof: true
136+
redisVersion: "8.0"
87137
memorySize: 2GB
88138
rofRamSize: 0.5GB
89139
```
90140

91141
{{< note >}}
92-
This example defines both `memorySize` and `rofRamSize`. When using Redis Flex, `memorySize` refers to the total combined memory size (RAM + flash) allocated for the database. `rofRamSize` specifies only the RAM capacity for the database. `rofRamSize` must be at least 10% of `memorySize`.
142+
Redis Flex automatically manages RAM allocation. You can specify `rofRamSize`, but it isn't subject to the 10% minimum ratio requirement that applies to Auto Tiering. The operator doesn't validate or enforce minimum RAM ratios for Redis 8.0 and later databases.
93143
{{< /note >}}
144+
145+
## Upgrade from Auto Tiering to Redis Flex
146+
147+
When you upgrade a database from a Redis version earlier than 8.0 to Redis 8.0 or later, Redis Server automatically migrates the database from Auto Tiering to Redis Flex. The operator detects this migration and makes the following changes:
148+
149+
1. Stops validating the `rofRamSize` ratio requirement.
150+
2. Stops reconciling the `bigstore_ram_size` field to avoid configuration drift.
151+
3. Continues to preserve the database configuration.
152+
153+
### Example upgrade scenario
154+
155+
The following example shows how to upgrade a database from Auto Tiering to Redis Flex:
156+
157+
1. Create a database on Redis 7.2 with `rofRamSize: 200MB`.
158+
2. Upgrade the database to Redis 8.0 by updating `spec.redisVersion` to `"8.0"`.
159+
3. Redis Server automatically converts the database to Redis Flex.
160+
4. The operator detects the conversion and adapts its reconciliation behavior.
161+
5. Redis now manages the `rofRamSize` field automatically. You can keep the field in the spec for backward compatibility.

0 commit comments

Comments
 (0)