创建实例

以下 Redis 版本已完全支持:6.07.28.4;默认情况下不支持其他版本。

版本建议

在生产环境中使用时,建议优先选择 7.28.4 版本,其次是 6.0

  1. 7.28.4 仍由社区维护,并修复了 6.0 中已知的问题。6.0 版本已不再由社区维护。
  2. 7.28.46.0 完全兼容。
  3. 7.28.4 进一步增强了 ACL 功能。
架构建议

单节点架构 没有从节点,且缺乏故障切换能力,因此仅适用于开发和测试环境。您可以根据业务的数据和并发需求,在 Sentinel 架构Cluster 架构 之间进行选择。

创建 Redis 实例

操作步骤

Sentinel CLI
Cluster CLI
Standalone CLI
Web Console

使用 CLI 创建一个 Redis 6.0 Sentinel 模式实例:

$ cat << EOF | kubectl -n default create -f -
apiVersion: middleware.alauda.io/v1
kind: Redis
metadata:
  name: s6
spec:
  arch: sentinel
  customConfig:
    databases: "16"
    hz: "10"
    save: 60 10000 300 100 600 1
    timeout: "0"
  exporter:
    enabled: true
    resources:
      limits:
        cpu: 100m
        memory: 384Mi
      requests:
        cpu: 50m
        memory: 128Mi
  replicas:
    sentinel:
      master: 1
      slave: 1
  resources:
    limits:
      cpu: "1"
      memory: 2Gi
    requests:
      cpu: "1"
      memory: 2Gi
  sentinel:
    monitorConfig:
      down-after-milliseconds: "30000"
      failover-timeout: "180000"
      parallel-syncs: "1"
    replicas: 3
    resources:
      limits:
        cpu: 100m
        memory: 128Mi
      requests:
        cpu: 100m
        memory: 128Mi
  version: "6.0"
EOF

有关字段说明,请参见 Redis API 文档

创建实例后,您可以使用以下命令检查实例状态:

$ kubectl -n default get redis
NAME         ARCH         VERSION   ACCESS     STATUS         MESSAGE   BUNDLE VERSION   AUTOUPGRADE   AGE
c6           cluster      6.0                  Initializing             4.0.1                         3m26s
c7           cluster      7.2       NodePort   Initializing             4.0.1                         98s
c8           cluster      8.4       NodePort   Ready                    4.0.1                         2m46s
s6           sentinel     6.0                  Ready                    4.0.1                         25m
s7           sentinel     7.2       NodePort   Ready                    4.0.1                         2m15s
s8           sentinel     8.4                  Ready                    4.0.1                         3m10s
standalone   standalone   6.0                  Initializing             4.0.1                         6s

输出表字段含义如下:

字段说明
NAME实例名称
ARCH该值对应 Redis 的架构。
  • cluster:Cluster 模式
  • sentinel:Sentinel 模式
  • standalone:单节点 Redis
该字段表示此 CR 资源管理的是 standalone、Sentinel 还是 Cluster 模式的 Redis。
VERSION当前仅支持以下 3 个版本:6.07.28.4
ACCESS实例支持的访问方式。
  • :实例通过 ClusterIP 提供服务
  • NodePort:实例通过 NodePort 提供服务
  • LoadBalancer:实例通过 LoadBalancer 提供服务
STATUS实例的当前状态,可能包括以下状态:
  • Initializing:实例正在初始化或更新
  • Rebalancing:Cluster 实例正在扩缩容
  • Error:实例遇到不可恢复的错误
  • Paused:实例已被手动暂停
  • Ready:实例已就绪
MESSAGE实例处于当前状态的原因
BUNDLE VERSION管理该实例的 operator 的版本号
AUTOUPGRADE该实例是否启用了自动升级
AGE实例创建于多久之前