在 Redis Enterprise 集群中使用持久卷
本节详细介绍了如何为 Redis Enterprise 集群部署调整和指定持久性卷的大小。
适用于 Kubernetes 的 Redis Enterprise |
---|
存储类型
Redis Enterprise for Kubernetes 只能使用块存储支持的存储类。块存储挂载在 Kubernetes 节点级别,并使用 EXT4 或 XFS 文件系统。它可以来自企业级 SAN 或云环境,例如 EBS、Azure 托管磁盘或 GCP 永久磁盘。
娱乐persistentSpec
田
要使用 Redis Enterprise作员部署 Redis Enterprise 集群, spec 应该在 redis-enterprise-cluster.yaml 文件中包含一个 persistentSpec 部分:
spec:
nodes: 3
persistentSpec:
enabled: true
storageClassName: "standard"
volumeSize: "23Gi” #optional
持久性存储是生产部署的一项要求。
卷大小
volumeSize 是一个可选定义。默认情况下,如果定义为 省略,运算符分配内存量 (RAM) 的五倍 (5x) 为节点定义(请参阅下面的示例),这是推荐的 持久存储大小,如硬件中所述 Requirements 文章。
要显式指定持久性存储大小,请使用 volumeSize 属性,如上例所述。
持久卷声明可以扩展,但不能在创建后减少。有关详细信息,请参阅扩展 PersistentVolumeClaim (PVC)。
存储类名称
storageClassName 确定 Storage Class 资源,即 由 Kubernetes 集群管理员定义,用于 持久存储。
不同的 Kubernetes 发行版和不同的部署使用 不同的 Storage Class 资源。
为了确定可用于 K8s 的 Storage Class 资源 deployment,请使用以下命令:
kubectl get StorageClass
通常,AWS 提供“gp2”作为存储类名称,而 GKE 使用“standard”。 Azure 提供两种存储类:“默认”使用 HDD,“托管高级”使用 SSD。
下面是对命令的响应示例。
名字: | gp2 |
IsDefaultClass 的 | 是的 |
附注: | storageclass.beta.kubernetes.io/is-default-class=true |
供应者: | kubernetes.io/aws-ebs |
参数: | 加密=false,kmsKeyId=,type=gp2 |
AllowVolumeExpansion 的 AllowVolumeExpansion 中: | <未设置> |
MountOptions 的 MountOptions 中: | <没有> |
ReclaimPolicy 的 ClaimPolicy 中: | 删除 |
VolumeBindingMode 的 VolumeBindingMode 中: | 立即的 |
事件: | <没有> |
redisEnterpriseNodeResources 定义示例:
redisEnterpriseNodeResources:
limits:
cpu: “4000m”
memory: 4Gi
requests:
cpu: “4000m”
memory: 4Gi