Use Auto Tiering on Kubernetes

Deploy a cluster with Auto Tiering on Kubernetes.

Prerequisites

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.

Note:
NVMe (non-volatile memory express) SSDs are strongly recommended to achieve the best performance.

Before creating your Redis clusters or databases, these SSDs must be:

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 (enabled: true)
  • flash storage driver (bigStoreDriver)
    • rocksdb or speedb(default)
  • storage class name (storageClassName)
  • minimal flash disk size (flashDiskSize)
Note:
Clusters upgraded to version 7.2.4-2 from an earlier version will change the bigStoreDriver (previously called flashStorageEngine) to the new default speedb, regardless of previous configuration.
Warning:
Switching between storage engines (speedb and 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: true enables Auto Tiering
  • rofRamSize defines 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
Note:
This example defines both memorySize and rofRamSize. When using Auto Tiering, memorySize refers to the total combined memory size (RAM + flash) allocated for the database. rofRamSize specifies only the RAM capacity for the database. rofRamSize must be at least 10% of memorySize.
RATE THIS PAGE
Back to top ↑