Skip to content

Commit 74054d8

Browse files
changes from SME meeting
1 parent 8edc6f7 commit 74054d8

File tree

1 file changed

+18
-113
lines changed

1 file changed

+18
-113
lines changed

content/operate/kubernetes/re-databases/modules.md

Lines changed: 18 additions & 113 deletions
Original file line numberDiff line numberDiff line change
@@ -16,20 +16,20 @@ Redis Enterprise modules extend Redis functionality with additional data types,
1616

1717
Before you begin, verify that you have:
1818

19-
- Redis Enterprise operator deployed in your Kubernetes cluster
20-
- Redis Enterprise Cluster (REC) running and in a healthy state
19+
- [Redis Enterprise operator deployed]({{< relref "/operate/kubernetes/deployment/quick-start" >}}) in your Kubernetes cluster
20+
- [Redis Enterprise Cluster (REC)]({{< relref "/operate/kubernetes/re-clusters" >}}) running and in a healthy state
2121
- Modules uploaded to the Redis Enterprise cluster (see [Check available modules](#check-available-modules))
2222

2323
## Available modules
2424

2525
Redis Enterprise includes several built-in modules:
2626

27-
- **RediSearch** (`search`) - Full-text search and secondary indexing
28-
- **RedisJSON** (`ReJSON`) - JSON data type support
29-
- **RedisTimeSeries** (`timeseries`) - Time series data structures
30-
- **RedisBloom** (`bf`) - Probabilistic data structures (Bloom filters, etc.)
31-
- **RedisGraph** (`graph`) - Graph database capabilities
32-
- **RedisGears** (`rg`) - Programmable data processing engine
27+
| Module | Name | Description |
28+
|--------|------|-------------|
29+
| **[RediSearch]({{< relref "/develop/interact/search-and-query" >}})** | `search` | Full-text search and secondary indexing |
30+
| **[RedisJSON]({{< relref "/develop/data-types/json" >}})** | `ReJSON` | JSON data type support |
31+
| **[RedisTimeSeries]({{< relref "/develop/data-types/timeseries" >}})** | `timeseries` | Time series data structures |
32+
| **[RedisBloom]({{< relref "/develop/data-types/probabilistic" >}})** | `bf` | Probabilistic data structures (Bloom filters, etc.) |
3333

3434
### Check available modules
3535

@@ -41,83 +41,40 @@ kubectl get rec <cluster-name> -o jsonpath='{.status.modules}' | jq
4141

4242
This command shows the modules installed in the cluster along with their available versions.
4343

44-
## Install additional modules
45-
46-
If you need to install additional modules or specific versions, upload them using the Redis Enterprise API:
47-
48-
1. Get cluster credentials:
49-
50-
```bash
51-
kubectl get secret <cluster-name> -o jsonpath='{.data.username}' | base64 -d
52-
kubectl get secret <cluster-name> -o jsonpath='{.data.password}' | base64 -d
53-
```
54-
55-
2. Port forward to the cluster API:
44+
{{< note >}}
45+
Use the `NAME` field instead of the `DISPLAY_NAME` field when configuring databases with modules.
46+
{{< /note >}}
5647

57-
```bash
58-
kubectl port-forward service/<cluster-name> 9443:9443
59-
```
60-
61-
3. Upload the module:
48+
## Install additional modules
6249

63-
```bash
64-
curl -k -u <username>:<password> -X POST \
65-
-F 'module=@<path-to-module-file>' \
66-
https://localhost:9443/v2/modules
67-
```
50+
If you need to install additional modules or specific versions, upload them using the Redis Enterprise API. See [Upload module v2]({{< relref "/operate/rs/references/rest-api/requests/modules/#post-module-v2" >}}) for more information.
6851

6952
## Module configuration
7053

71-
#### Module parameters
72-
7354
Each module in the [`modulesList`]({{< relref "/operate/kubernetes/reference/api/redis_enterprise_database_api#specmoduleslist" >}}) supports the following fields:
7455

7556
- **name** (required): The module name (for example, "search", "ReJSON")
76-
- **version** (optional for REDB, required for REAADB): Specific module version
57+
- **version** (optional): Specific module version. For Active-Active databases, if specified for one participating cluster, it must be specified for all participating clusters. If omitted, modules will auto-update.
7758
- **config** (optional): Module-specific configuration parameters
7859

79-
#### Common module configurations
80-
81-
##### RediSearch
82-
83-
```yaml
84-
modulesList:
85-
- name: search
86-
config: "MAXSEARCHRESULTS 10000 MAXAGGREGATERESULTS 5000 TIMEOUT 500"
87-
```
88-
89-
##### RedisTimeSeries
90-
91-
```yaml
92-
modulesList:
93-
- name: timeseries
94-
config: "RETENTION_POLICY 86400000 MAX_SAMPLE_PER_CHUNK 360"
95-
```
96-
97-
##### RedisBloom
98-
99-
```yaml
100-
modulesList:
101-
- name: bf
102-
config: "ERROR_RATE 0.01 INITIAL_SIZE 1000"
103-
```
60+
For detailed module configuration options and parameters, see [Redis modules]({{< relref "/develop/reference/modules" >}}).
10461

10562
## Upgrade considerations
10663

10764
When upgrading Redis Enterprise clusters or the operator with modules, follow these guidelines:
10865

10966
#### Pre-upgrade planning
11067

111-
- **Check module compatibility**: Verify that your current module versions are compatible with the target Redis Enterprise version
68+
- **Check module compatibility**: Verify that your current module versions are compatible with the target Redis Enterprise version. Check each module's [`min_redis_version`](https://redis.io/docs/latest/operate/rs/references/rest-api/objects/module/) requirement.
11269
- **Review module dependencies**: Some modules may have specific version requirements or dependencies
11370
- **Document current configurations**: Record all module versions and configurations before upgrading
11471
- **Test in non-production**: Always test module upgrades in a development or staging environment first
11572

11673
#### Module version management during upgrades
11774

11875
- **Upload required modules**: Ensure all necessary module versions are uploaded to the cluster before upgrading
119-
- **Version pinning**: For Active-Active databases, explicitly specify module versions to prevent automatic updates
120-
- **Compatibility matrices**: Consult the Redis Enterprise documentation for module compatibility matrices
76+
- **Version consistency**: For Active-Active databases, ensure module versions are consistent across all participating clusters. If you specify a version for one cluster, specify the same version for all clusters. Omit versions to allow auto-updates.
77+
- **Compatibility requirements**: Consult the Redis Enterprise documentation for module compatibility matrices and verify each module's [`min_redis_version`](https://redis.io/docs/latest/operate/rs/references/rest-api/objects/module/) requirement
12178

12279
#### Upgrade sequence
12380

@@ -135,58 +92,6 @@ When upgrading Redis Enterprise clusters or the operator with modules, follow th
13592

13693
For detailed upgrade procedures, see [Upgrade Redis Enterprise clusters]({{< relref "/operate/kubernetes/upgrade/upgrade-redis-cluster" >}}).
13794

138-
## Best practices
139-
140-
#### Module version management
141-
142-
- For production environments, specify explicit module versions in Active-Active databases
143-
- Use the cluster's available modules list to ensure compatibility
144-
- Test module upgrades in non-production environments first
145-
146-
#### Resource planning
147-
148-
- Modules consume additional memory and CPU resources
149-
- Plan cluster resources accordingly when using multiple modules
150-
- Monitor module-specific metrics and performance
151-
152-
#### Configuration management
153-
154-
- Use module configuration parameters to optimize performance
155-
- Document module configurations for consistency across environments
156-
- Consider module-specific backup and recovery requirements
157-
158-
## Troubleshooting
159-
160-
#### Common issues
161-
162-
1. **Module not available error:**
163-
- Check if the module is installed: `kubectl get rec <cluster-name> -o jsonpath='{.status.modules}'`
164-
- Upload the module if missing using the API endpoint
165-
166-
2. **Version compatibility issues:**
167-
- Verify module version compatibility with your Redis Enterprise version
168-
- Check the Redis Enterprise documentation for supported module versions
169-
170-
3. **Configuration errors:**
171-
- Validate module configuration parameters
172-
- Check Redis Enterprise logs for specific error messages
173-
174-
#### Debugging commands
175-
176-
```bash
177-
# Check cluster status and available modules
178-
kubectl get rec <cluster-name> -o yaml
179-
180-
# Check database status
181-
kubectl get redb <database-name> -o yaml
182-
183-
# View operator logs
184-
kubectl logs -l name=redis-enterprise-operator
185-
186-
# Check cluster logs
187-
kubectl logs <cluster-pod-name>
188-
```
189-
19095
## Related information
19196

19297
- [Database controller]({{< relref "/operate/kubernetes/re-databases/db-controller" >}}) - Learn how to create and manage Redis Enterprise databases

0 commit comments

Comments
 (0)