Launching the Platform/Self-hosted: On-prem/Prerequisites
Redis cache
Setup and configure Redis cache for your self-hosted platform
Overview
Purpose
- Session management
- Real-time features
- Caching layer
- Performance optimization
Key Features
- Fast in-memory storage
- Data persistence
- High availability
- Monitoring capabilities
Deployment options
Cloud Provider Options
Google Cloud Memorystore
- Go to Google Cloud Console
- Enable Memorystore for Redis API
- Create new Redis instance:
- Choose Basic tier for standard workloads
- Select region (same as your GKE cluster)
- Set memory capacity (minimum 1GB)
- Enable authentication (recommended)
- Configure VPC network and authorized networks
Redis Cloud
- Create account at Redis Cloud
- Create new subscription:
- Fixed plan (minimum 1GB)
- Choose region
- Enable password protection
- Create database with default settings
Digital Ocean Redis
- Access Digital Ocean Console
- Create Database > Redis
- Configure:
- Choose smallest plan
- Select datacenter
- Enable eviction policy
Benefits
- Automatic backups
- High availability
- Security patches
- Performance monitoring
Bitnami Redis Chart
Add repository
helm repo add bitnami https://charts.bitnami.com/bitnami
helm repo update
Install Redis
helm upgrade --install redis oci://registry-1.docker.io/bitnamicharts/redis \
--namespace redis \
--version 18.19.2 \
--create-namespace \
--set architecture=standalone \
--set global.redis.password=your-secure-password
Wait for deployment
kubectl -n redis get pods -w
For Production Use
- Configure proper resource limits
- Set up persistence
- Consider high availability setup
Requirements
Minimum Specifications
- Redis 6.0 or higher
- 1GB memory
- Network access from platform
- Password protection enabled
Recommended Features
- Persistence enabled
- Automatic backups
- Monitoring setup
- Eviction policies configured
Information collection
Required values for platform installation
- Redis hostname/endpoint
- Port number (default: 6379)
- Password (if authentication enabled)
- TLS enabled/disabled
redis:
host: "" # Redis host collected in prerequisites
port: 6379 # Redis port collected in prerequisites
password: "" # Redis password collected in prerequisites
prefix: "sm" # In shared redis servers, this separates queues
tls: false # Set to true to use TLS mode
When using Google Memorystore:
- Enable only one Redis solution (
redis.enabled
orredis.memorystore.enabled
) - Ensure your GKE cluster has access to the Memorystore instance
- Configure the same region as your GKE cluster
Validation
# Get the Memorystore instance connection details
REDIS_HOST=$(gcloud redis instances describe [INSTANCE_ID] \
--region=[REGION] --format='get(host)')
REDIS_PORT=$(gcloud redis instances describe [INSTANCE_ID] \
--region=[REGION] --format='get(port)')
# Test connection using redis-cli
redis-cli -h $REDIS_HOST -p $REDIS_PORT ping
# Using redis-cli
redis-cli -h your-redis-host -p 6379 -a your-password ping
# Expected response
PONG
Troubleshooting
Connection Failures
- Verify credentials
- Check network/firewall rules
- Confirm TLS settings
- Validate endpoint format
- For Memorystore: verify VPC peering
Performance Issues
- Monitor memory usage
- Check eviction policies
- Review connection limits
- Verify resource allocation
- For Memorystore: check instance tier
Need help? Contact [email protected] if you encounter any issues.