Use Auto Tiering on Kubernetes
Redis Enterprise Software for Kubernetes supports using Auto Tiering (previously known as Redis on Flash), which extends your node memory to use both RAM and flash storage. SSDs (solid state drives) can store infrequently used (warm) values while your keys and frequently used (hot) values are still stored in RAM. This improves performance and lowers costs for large datasets.
Before creating your Redis clusters or databases, these SSDs must be:
- locally attached to worker nodes in your Kubernetes cluster
- formatted and mounted on the nodes that will run Redis Enterprise pods
- dedicated to Auto Tiering and not shared with other parts of the database, (e.g. durability, binaries)
- provisioned as local persistent volumes
- a StorageClass resource with a unique name
For more information on node storage, see Node persistent and ephemeral storage.
Create a Redis Enterprise cluster
To deploy a Redis Enterprise cluster (REC) with Auto Tiering, you’ll need to specify the following in the
redisOnFlashSpec section of your REC custom resource:
- enable Auto Tiering (
- flash storage driver (
- storage class name (
- minimal flash disk size (
flashStorageEngine) to the new default
speedb, regardless of previous configuration.
rocksdb) requires guidance by Redis Support or your Account Manager.
Here is an example of an REC custom resource with these attributes:
apiVersion: app.redislabs.com/v1 kind: RedisEnterpriseCluster metadata: name: "rec" spec: nodes: 3 redisOnFlashSpec: enabled: true bigStoreDriver: speedb storageClassName: local-scsi flashDiskSize: 100G
Create a Redis Enterprise database
By default, any new database will use RAM only. To create a Redis Enterprise database (REDB) that can use flash storage, specify the following in the
redisEnterpriseCluster section of the REDB custom resource definition:
isRof: trueenables Auto Tiering
rofRamSizedefines the RAM capacity for the database
Below is an example REDB custom resource:
apiVersion: app.redislabs.com/v1alpha1 kind: RedisEnterpriseDatabase metadata: name: autoteiring-redb spec: redisEnterpriseCluster: name: rec isRof: true memorySize: 2GB rofRamSize: 0.5GB
rofRamSize. When using Auto Tiering,
memorySizerefers to the total combined memory size (RAM + flash) allocated for the database.
rofRamSizespecifies only the RAM capacity for the database.
rofRamSizemust be at least 10% of