在Kubernetes上使用自动分层

在Kubernetes上部署一个带有自动分层的集群。

先决条件

Redis Enterprise Software for Kubernetes 支持使用自动分层(以前称为 Redis on Flash),它扩展了您的节点内存,以同时使用 RAM 和闪存存储。SSD(固态硬盘)可以存储不常使用的(温)值,而您的键和经常使用的(热)值仍然存储在 RAM 中。这提高了性能并降低了大数据集的成本。

注意:
强烈推荐使用NVMe(非易失性内存快速)SSD以实现最佳性能。

在创建您的Redis集群或数据库之前,这些SSD必须满足以下条件:

有关节点存储的更多信息,请参阅Node persistent and ephemeral storage

创建一个Redis企业集群

要部署带有自动分层的Redis Enterprise集群(REC),您需要在REC自定义资源redisOnFlashSpec部分中指定以下内容:

  • 启用自动分层 (enabled: true)
  • 闪存存储驱动 (bigStoreDriver)
    • rocksdbspeedb(默认)
  • 存储类名称 (storageClassName)
  • 最小闪存盘大小 (flashDiskSize)
注意:
从早期版本升级到7.2.4-2版本的集群将更改bigStoreDriver(以前称为flashStorageEngine)为新的默认speedb,无论之前的配置如何。
警告:
在存储引擎(speedbrocksdb)之间切换需要 Redis 支持或您的客户经理的指导。

以下是一个具有这些属性的REC自定义资源的示例:

apiVersion: app.redislabs.com/v1
kind: RedisEnterpriseCluster
metadata:
  name: "rec"
spec:
  
  nodes: 3
  redisOnFlashSpec:
    enabled: true
    bigStoreDriver: speedb
    storageClassName: local-scsi
    flashDiskSize: 100G

创建一个Redis企业数据库

默认情况下,任何新数据库将仅使用RAM。要创建一个可以使用闪存存储的Redis Enterprise数据库(REDB),请在REDB自定义资源定义的redisEnterpriseCluster部分中指定以下内容:

  • isRof: true 启用自动分层
  • rofRamSize 定义了数据库的RAM容量

以下是一个REDB自定义资源的示例:

apiVersion: app.redislabs.com/v1alpha1
kind: RedisEnterpriseDatabase
metadata:
  name: autoteiring-redb
spec:
  redisEnterpriseCluster:
    name: rec
  isRof: true
  memorySize: 2GB
  rofRamSize: 0.5GB
注意:
此示例定义了memorySizerofRamSize。使用自动分层时,memorySize指的是为数据库分配的总内存大小(RAM + 闪存)。rofRamSize仅指定数据库的RAM容量。rofRamSize必须至少为memorySize的10%。
RATE THIS PAGE
Back to top ↑