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.
You need to provide a storage provider for this Building Block. Proceed with the following prerequisite description to use the Velero Building Block out of the box.
A recommended resource overview is listed in the table below.
|CPU / vCPU||Memory|
|1.3||1380 + 128-256MiB per worker node|
No further activities need to be carried out in advance.
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.33.0 - project: syseleven/building-blocks/helmfiles/redis-ha file: JobStaging.yaml ref: 1.33.0 - project: syseleven/building-blocks/helmfiles/redis-ha file: JobProduction.yaml ref: 1.33.0
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