{
  "schema_version": 2,
  "id": "operate/kubernetes/flex/get-started",
  "title": "Get started with Flex on Kubernetes",
  "url": "https://redis.io/docs/latest/operate/kubernetes/flex/get-started/",
  "summary": "Configure Flex on your Redis Enterprise cluster for Kubernetes.",
  "aliases": [
    "/operate/kubernetes/re-clusters/redis-flex/"
  ],
  "tags": [
    "docs",
    "operate",
    "kubernetes"
  ],
  "last_updated": "2026-09-28T16:14:52+01:00",
  "page_type": "content",
  "content_hash": "4fb73284ea2236b23705079a327820bb3a521c09f0e880f7d23b26fc29f624f1",
  "sections": [
    {
      "id": "overview",
      "title": "Overview",
      "role": "overview",
      "text": "> [!NOTE]\n> This page applies to Redis database version 7.4 and earlier using Auto Tiering. If you use version 8.0 or later, see [Redis Flex](https://redis.io/docs/latest/operate/kubernetes/flex/).\n\nFlex extends your database capacity by combining RAM and flash (SSD) storage. This tiered architecture keeps frequently accessed (hot) data in RAM for sub-millisecond latency while storing less active (warm) data on flash to reduce costs and increase capacity."
    },
    {
      "id": "prerequisites",
      "title": "Prerequisites",
      "role": "content",
      "text": "Before you begin, verify that you have:\n\n- Redis Enterprise for Kubernetes version 8.0.2-2 or later installed\n- A running `RedisEnterpriseCluster` (REC) resource\n- Redis database version 7.4 or later\n- Locally attached NVMe SSDs on your worker nodes\n- A StorageClass configured for flash storage with a unique name\n\nFor hardware requirements and sizing guidelines, see [Plan your deployment](https://redis.io/docs/latest/operate/kubernetes/flex/plan)."
    },
    {
      "id": "configure-the-rec-for-flex",
      "title": "Configure the REC for Flex",
      "role": "configuration",
      "text": "To enable Flex, configure your `RedisEnterpriseCluster` (REC) resource with flash storage settings. Add the [`redisOnFlashSpec`](https://redis.io/docs/latest/operate/kubernetes/reference/api/redis_enterprise_cluster_api#specredisonflashspec) section to your REC specification.\n\nKey fields in `redisOnFlashSpec`:\n\n| Field                   | Description                                      |\n|-------------------------|--------------------------------------------------|\n| `enabled`               | Set to `true` to enable Flex.                    |\n| `flashStorageClassName` | Name of the StorageClass for flash storage.      |\n| `flashDiskSize`         | Size of the flash storage per node.              |\n| `storageEngine`         | Storage engine. Set to `speedb` for Flex.        |\n\nFor all available fields, see the [REC API reference](https://redis.io/docs/latest/operate/kubernetes/reference/api/redis_enterprise_cluster_api#specredisonflashspec).\n\n> [!WARNING]\n> PVC expansion is not supported when using Flex. Do not enable `enablePersistentVolumeResize` in the REC `persistentSpec` if you are using `redisOnFlashSpec` as this will result in conflicts.\n\n1. Create a REC specification file with flash storage settings similar to the following example:\n\n    [code example]\n\n1. Apply the REC configuration:\n\n    [code example]\n\n1. Verify that the cluster is ready:\n\n    [code example]"
    },
    {
      "id": "create-a-flex-database",
      "title": "Create a Flex database",
      "role": "content",
      "text": "After you configure the cluster, create a `RedisEnterpriseDatabase` (REDB) resource with Flex enabled.\n\nKey fields in the REDB:\n\n| Field        | Description                                            |\n|--------------|--------------------------------------------------------|\n| `memorySize` | Total database size (RAM + flash).                     |\n| `isRof`      | Set to `true` to enable Flex for this database.        |\n| `rofRamSize` | Amount of RAM allocated to the database.               |\n\nFor all available fields, see the [REDB API reference](https://redis.io/docs/latest/operate/kubernetes/reference/api/redis_enterprise_database_api).\n\n1. Create a database specification file with `isRof` set to `true` similar to the following example:\n\n    [code example]\n\n1. Apply the REDB:\n\n    [code example]\n\n1. Verify the database status:\n\n    [code example]"
    },
    {
      "id": "verify-flex-is-active",
      "title": "Verify Flex is active",
      "role": "content",
      "text": "To confirm that Flex is working:\n\n1. Check the database status:\n\n    [code example]\n\n2. Look for `isRof: true` in the status section.\n\n3. Connect to the database and verify that data operations work correctly."
    },
    {
      "id": "next-steps",
      "title": "Next steps",
      "role": "content",
      "text": "- [Scale your deployment](https://redis.io/docs/latest/operate/kubernetes/flex/scale): Learn how to scale volume, throughput, and infrastructure.\n- [Plan your deployment](https://redis.io/docs/latest/operate/kubernetes/flex/plan): Review sizing guidelines and best practices."
    }
  ],
  "examples": [
    {
      "id": "configure-the-rec-for-flex-ex0",
      "language": "yaml",
      "code": "apiVersion: app.redislabs.com/v1\n    kind: RedisEnterpriseCluster\n    metadata:\n      name: rec\n    spec:\n      nodes: 3\n      redisOnFlashSpec:\n        enabled: true\n        flashStorageClassName: local-flash\n        flashDiskSize: 100Gi\n        storageEngine: speedb",
      "section_id": "configure-the-rec-for-flex"
    },
    {
      "id": "configure-the-rec-for-flex-ex1",
      "language": "sh",
      "code": "kubectl apply -f rec.yaml",
      "section_id": "configure-the-rec-for-flex"
    },
    {
      "id": "configure-the-rec-for-flex-ex2",
      "language": "sh",
      "code": "kubectl get rec",
      "section_id": "configure-the-rec-for-flex"
    },
    {
      "id": "create-a-flex-database-ex0",
      "language": "yaml",
      "code": "apiVersion: app.redislabs.com/v1alpha1\n    kind: RedisEnterpriseDatabase\n    metadata:\n      name: flex-db\n    spec:\n      memorySize: 10Gi\n      isRof: true\n      rofRamSize: 2Gi",
      "section_id": "create-a-flex-database"
    },
    {
      "id": "create-a-flex-database-ex1",
      "language": "sh",
      "code": "kubectl apply -f redb.yaml",
      "section_id": "create-a-flex-database"
    },
    {
      "id": "create-a-flex-database-ex2",
      "language": "sh",
      "code": "kubectl get redb",
      "section_id": "create-a-flex-database"
    },
    {
      "id": "verify-flex-is-active-ex0",
      "language": "sh",
      "code": "kubectl get redb <database-name> -o yaml",
      "section_id": "verify-flex-is-active"
    }
  ]
}
