|
| 1 | +--- |
| 2 | +Title: Configure modules |
| 3 | +alwaysopen: false |
| 4 | +categories: |
| 5 | +- docs |
| 6 | +- operate |
| 7 | +- kubernetes |
| 8 | +description: Deploy Redis Enterprise databases with modules using the Redis Enterprise operator for Kubernetes. |
| 9 | +linkTitle: Configure modules |
| 10 | +weight: 15 |
| 11 | +--- |
| 12 | + |
| 13 | +Redis Enterprise modules extend Redis functionality with additional data types, commands, and capabilities. The Redis Enterprise operator supports deploying databases with modules through the `RedisEnterpriseDatabase` (REDB) and `RedisEnterpriseActiveActiveDatabase` (REAADB) custom resources. |
| 14 | + |
| 15 | +## Prerequisites |
| 16 | + |
| 17 | +Before you begin, verify that you have: |
| 18 | + |
| 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 |
| 21 | +- Modules uploaded to the Redis Enterprise cluster (see [Check available modules](#check-available-modules)) |
| 22 | + |
| 23 | +## Available modules |
| 24 | + |
| 25 | +Redis Enterprise includes several built-in modules: |
| 26 | + |
| 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.) | |
| 33 | + |
| 34 | +### Check available modules |
| 35 | + |
| 36 | +Before configuring databases with modules, check which modules are available in your cluster: |
| 37 | + |
| 38 | +```bash |
| 39 | +kubectl get rec <cluster-name> -o jsonpath='{.status.modules}' | jq |
| 40 | +``` |
| 41 | + |
| 42 | +This command shows the modules installed in the cluster along with their available versions. |
| 43 | + |
| 44 | +{{< note >}} |
| 45 | +Use the `NAME` field instead of the `DISPLAY_NAME` field when configuring databases with modules. |
| 46 | +{{< /note >}} |
| 47 | + |
| 48 | +## Install additional modules |
| 49 | + |
| 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. |
| 51 | + |
| 52 | +## Module configuration |
| 53 | + |
| 54 | +Each module in the [`modulesList`]({{< relref "/operate/kubernetes/reference/api/redis_enterprise_database_api#specmoduleslist" >}}) supports the following fields: |
| 55 | + |
| 56 | +- **name** (required): The module name (for example, "search", "ReJSON") |
| 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. |
| 58 | +- **config** (optional): Module-specific configuration parameters |
| 59 | + |
| 60 | +For detailed module configuration options and parameters, see [Redis modules]({{< relref "/develop/reference/modules" >}}). |
| 61 | + |
| 62 | +## Upgrade considerations |
| 63 | + |
| 64 | +When upgrading Redis Enterprise clusters or the operator with modules, follow these guidelines: |
| 65 | + |
| 66 | +#### Pre-upgrade planning |
| 67 | + |
| 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. |
| 69 | +- **Review module dependencies**: Some modules may have specific version requirements or dependencies |
| 70 | +- **Document current configurations**: Record all module versions and configurations before upgrading |
| 71 | +- **Test in non-production**: Always test module upgrades in a development or staging environment first |
| 72 | + |
| 73 | +#### Module version management during upgrades |
| 74 | + |
| 75 | +- **Upload required modules**: Ensure all necessary module versions are uploaded to the cluster before upgrading |
| 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 |
| 78 | + |
| 79 | +#### Upgrade sequence |
| 80 | + |
| 81 | +1. **Upload new module versions** (if required) to the cluster before upgrading Redis Enterprise |
| 82 | +2. **Upgrade the Redis Enterprise cluster** following standard upgrade procedures |
| 83 | +3. **Verify module functionality** after the cluster upgrade completes |
| 84 | +4. **Update database configurations** if new module versions require configuration changes |
| 85 | + |
| 86 | +#### Post-upgrade verification |
| 87 | + |
| 88 | +- **Check module status**: Verify all modules are loaded correctly: `kubectl get rec <cluster-name> -o jsonpath='{.status.modules}'` |
| 89 | +- **Test module functionality**: Validate that module-specific commands and features work as expected |
| 90 | +- **Monitor performance**: Watch for any performance changes after the upgrade |
| 91 | +- **Update documentation**: Record the new module versions and any configuration changes |
| 92 | + |
| 93 | +For detailed upgrade procedures, see [Upgrade Redis Enterprise clusters]({{< relref "/operate/kubernetes/upgrade/upgrade-redis-cluster" >}}). |
| 94 | + |
| 95 | +## Related information |
| 96 | + |
| 97 | +- [Database controller]({{< relref "/operate/kubernetes/re-databases/db-controller" >}}) - Learn how to create and manage Redis Enterprise databases |
| 98 | +- [Active-Active databases]({{< relref "/operate/kubernetes/active-active" >}}) - Set up globally distributed Active-Active databases |
| 99 | +- [Database connectivity]({{< relref "/operate/kubernetes/networking/database-connectivity" >}}) - Connect applications to your Redis Enterprise databases |
| 100 | +- [REDB API reference]({{< relref "/operate/kubernetes/reference/api/redis_enterprise_database_api" >}}) - Complete API specification for REDB resources |
| 101 | +- [REAADB API reference]({{< relref "/operate/kubernetes/reference/api/redis_enterprise_active_active_database_api" >}}) - API reference for Active-Active databases |
| 102 | +- [Redis modules documentation](https://redis.io/docs/latest/develop/reference/modules/) - Official Redis modules documentation |
0 commit comments