在 Kubernetes 上使用 Auto Tiering
在 Kubernetes 上使用 Auto Tiering 部署集群。
适用于 Kubernetes 的 Redis Enterprise |
---|
先决条件
Redis Enterprise Software for Kubernetes 支持使用 Auto Tiering(以前称为 Redis on Flash),它可以扩展节点内存以同时使用 RAM 和闪存存储。SSD(固态驱动器)可以存储不常用的 (暖) 值,而您的键和常用 (热) 值仍存储在 RAM 中。这可以提高大型数据集的性能并降低成本。
注意:
强烈建议使用 NVMe (non-volatile memory express) SSD 以实现最佳性能。在创建 Redis 集群或数据库之前,这些 SSD 必须:
- 本地附加到 Kubernetes 集群中的 worker 节点
- 格式化并挂载到将运行 Redis Enterprise Pod 的节点上
- 专用于 Auto Tiering,不与数据库的其他部分共享(例如持久性、二进制文件)
- 预置为本地持久卷
- 具有唯一名称的 StorageClass 资源
有关节点存储的更多信息,请参阅节点持久性和短暂存储。
创建 Redis Enterprise 集群
要使用 Auto Tiering 部署 Redis Enterprise 集群 (REC),您需要在redisOnFlashSpec
部分:
- 启用 Auto Tiering (
enabled: true
) - 闪存驱动程序 (
bigStoreDriver
)rocksdb
或speedb
(默认)
- 存储类名称 (
storageClassName
) - 最小闪存盘大小 (
flashDiskSize
)
注意:
从早期版本升级到版本 7.2.4-2 的集群将更改bigStoreDriver
(以前称为flashStorageEngine
) 设置为新的默认值speedb
,而不管之前的配置如何。警告:
在存储引擎之间切换 (speedb
和rocksdb
) 需要 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
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
.
On this page