{
  "id": "plan",
  "title": "Plan a Redis Flex deployment on Kubernetes",
  "url": "https://redis.io/docs/latest/operate/kubernetes/8.0/flex/plan/",
  "summary": "Hardware requirements, sizing guidelines, and limitations for Redis Flex on Kubernetes.",
  "content": "\nReview the hardware requirements, sizing guidelines, and known limitations before you deploy Redis Flex.\n\n## Version requirements\n\nRedis Flex requires:\n\n- Redis Enterprise for Kubernetes version 8.0.2-2 or later\n- Redis database version 8.2 or later\n\n## Hardware requirements\n\n### Flash storage requirements\n\nYour SSDs must meet these requirements:\n\n- **Locally attached** to worker nodes in your Kubernetes cluster. Network-attached storage (NAS), storage area networks (SAN), and cloud block storage (like AWS EBS) are not supported.\n- **Dedicated** to Redis Flex. Don't share Flash storage with other database components like durability, binaries, or persistence.\n- **Formatted and mounted** on the nodes that run Redis Enterprise pods.\n- **Provisioned as local persistent volumes**. You can use a [local volume provisioner](https://github.com/kubernetes-sigs/sig-storage-local-static-provisioner) for dynamic provisioning.\n- **Configured with a StorageClass** resource with a unique name.\n\nFor more information about storage configuration, see [Kubernetes local volumes](https://kubernetes.io/docs/concepts/storage/volumes/#local).\n\n### Flash capacity sizing\n\nProvision Flash capacity that exceeds your total database size. The extra space accounts for:\n\n- Write buffers\n- Space amplification\n- Operational overhead\n\n### Recommended SSD types\n\nFor best performance, use NVMe SSDs:\n\n| SSD type              | Recommendation                 |\n|-----------------------|--------------------------------|\n| NVMe Gen 5 or Gen 4   | Recommended                    |\n| NVMe Gen 3            | Supported (lower performance)  |\n\n## Sizing guidelines\n\n### Shard fundamentals\n\nRedis Flex databases consist of shards—independent data partitions that handle a portion of the dataset and request load. Each shard runs as a self-contained Redis process with dedicated memory, CPU, and Flash resources.\n\n### Recommended shard size\n\nUse these standard building blocks for capacity planning:\n\n- **50 GB per shard**: Standard capacity unit\n- **1 vCPU per shard**: Baseline compute allocation\n\nFor example, a 1 TB dataset requires 20 shards (20 × 50 GB).\n\n### RAM-to-flash ratio\n\nThe RAM-to-flash ratio directly affects throughput and latency:\n\n- More RAM: Higher throughput and lower latency\n- Less RAM: Lower throughput, higher latency, and lower cost\n\n## Module compatibility\n\n### Supported\n\nRedis Flex supports:\n\n- All standard Redis data types\n- Redis JSON\n- Redis probabilistic data structures (Bloom filters, Count-Min Sketch, Top-K)\n\n### Not supported\n\nRedis Flex doesn't support:\n\n- Redis Query Engine (RQE)\n- RedisTimeSeries\n- Active-Active databases\n\n## Best practices\n\n- Store small keys and values (under 10 KB) when possible. Large objects reduce performance, and objects larger than 4 GB can't be stored in Flash.\n- Enable replication before populating the database with data. If you enable replication after the database is created, recovery can fail because required persistence files might be missing.\n- Increase RAM percentage if 99th-percentile latency exceeds your target or cache hit rates drop.\n- Decrease RAM percentage if memory utilization is high but latency remains stable to lower cost and improve efficiency.\n- Re-evaluate the ratio of RAM to Flash periodically as dataset size and access patterns evolve.\n\n## Known limitations\n\n- **Flash storage**: Must be locally attached. Network storage isn't supported.\n- **Active-Active**: Not supported with Flex.\n- **PVC expansion**: Not supported with `redisOnFlashSpec`. Don't enable `enablePersistentVolumeResize` in the REC `persistentSpec`.\n- **Maximum object size**: Keys or values larger than 4 GB remain in RAM only.\n\nAvoid Flex in the following situations:\n\n- Your working set is significantly smaller than the total dataset and access is biased toward recent data (high RAM hit rate).\n- Your workload uses very long key names, broad or random access patterns, or a very large working set. These patterns reduce Flex benefits and increase flash I/O.\n\n### Deprecated fields\n\nThe `flashStorageEngine` field is deprecated. Use `bigStoreDriver` instead.\n\n## Next steps\n\n- [Get started](https://redis.io/docs/latest/operate/kubernetes/flex/get-started): Configure Redis Flex on your cluster.\n- [Scale your deployment](https://redis.io/docs/latest/operate/kubernetes/flex/scale): Learn scaling strategies.\n",
  "tags": ["docs","operate","kubernetes"],
  "last_updated": "2026-06-04T14:49:57+01:00"
}
