OT-OSM.redis
OSM Redis Setup
OSM Redis Setup is a collection of roles, playbooks, and inventories for setting up various Redis configurations, including standalone, sharded clusters, and replicated clusters, as well as using Sentinel for failover management. This Ansible automation is not just for one-time setups, but can also be used for change management, upgrades, and scaling.
Documentation
Supported Features
This automation supports the following features:
- Redis Standalone Setup
- Redis Sharded Cluster Setup
- Redis Replication Cluster Setup
- Sentinel Mode
- Redis Monitoring with Exporter
The Redis Ansible automation also supports dynamic scaling of the Redis cluster, including automatic re-sharding.
Supported Platforms
- Debian 10.X
- Ubuntu 18.04
- Ubuntu 20.04
- Ubuntu 22.04
- RedHat and CentOS 7
- RedHat and CentOS 8
Important Role Variables
| Variable Name | Default Value | Description |
|---|---|---|
| redis_password | Opstree@1234 | Password for Redis authentication |
| redis_monitoring_enabled | true | Allows Redis monitoring with the Redis exporter |
| setup_mode | sharded | Setup mode for the Redis cluster, options: replicated or sharded |
| leader_redis_port | 6379 | Port for Redis leader to receive traffic |
| follower_redis_port | 6380 | Port for Redis follower to receive traffic |
| redis_sentinel_port | 23679 | Port for Redis Sentinel to receive traffic |
These variables are part of the automation setup, and users can also configure additional optional variables based on their needs:
Default Properties
Ports
| Port | Description |
|---|---|
| 6379 | Port for Redis standalone and leader |
| 6380 | Port for Redis follower |
| 26379 | Port for Redis Sentinel |
Directories and Files
| Directory and Files | Description |
|---|---|
/etc/redis/redis.conf |
Configuration file for Redis standalone |
/opt/redis/data |
Directory for storing RDB files for Redis standalone |
/var/log/redis/redis.log |
Log file for Redis standalone service |
/etc/redis/cluster/leader/redis.conf |
Configuration file for Redis leader |
/var/log/redis/leader/redis.log |
Log file for Redis leader service |
/var/lib/redis/leader |
Directory for storing RDB files for Redis leader |
/etc/redis/cluster/follower/redis.conf |
Configuration file for Redis follower |
/var/log/redis/follower/redis.log |
Log file for Redis follower service |
/var/lib/redis/follower |
Directory for storing RDB files for Redis follower |
Systemd Services
| Service Name | Description |
|---|---|
| redis.service | Systemd service for Redis standalone |
| redis-exporter.service | Systemd service for Redis exporter |
| redis-leader.service | Systemd service for Redis leader |
| redis-follower.service | Systemd service for Redis follower |
| redis-sentinel.service | Systemd service for Redis Sentinel |
| redis-leader-exporter.service | Systemd service for Redis exporter (leader) |
| redis-follower-exporter.service | Systemd service for Redis exporter (follower) |
Contact Information
This project is managed by OpsTree Solutions. For any questions or suggestions, please email us at [email protected].
Ansible role to setup a production grade redis cluster/server
ansible-galaxy install OT-OSM.redis