Redis is a widely used in memory data store which can be used as a database. It belongs to NoSQL Databases and fits to use cases where a simple datastructures fit.
The source code and default configuration of the Building Block is available in our code.sysEleven.de. Infos on release notes and new features please follow Release notes redis-ha
Redis consists of 5 Pods:
2 x HAProxy
3 x Redis HA Server
Add the directory
syseleven-redis-ha to your control repository. Add a
.gitlab-ci.yml to the directory with the following content:
include: - project: syseleven/building-blocks/helmfiles/redis-ha file: JobDevelopment.yaml ref: 1.31.1 - project: syseleven/building-blocks/helmfiles/redis-ha file: JobStaging.yaml ref: 1.31.1 - project: syseleven/building-blocks/helmfiles/redis-ha file: JobProduction.yaml ref: 1.31.1
Remove environments you are not using by removing their include.
For a production-grade setup, it is highly recommended to define a maxmemory limit for Redis and resource limit for the pod.
In our experience the formula
maxmemory * 125% <= limits can be used for a stable configuration.
redis: config: maxmemory: 1024MB resources: limits: memory: 1280Mi
See Scaling Redis for upstream documentation.
This building block consists of multiple components. Each of the components can and must be scaled individually.
Please find more infos on release notes and new features Release notes Redis-HA