创建实例

以下 Redis 版本被完全支持:5.06.07.2;其他版本默认不支持。

版本建议

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

  1. 7.2 是社区仍在维护的版本,修复了 6.05.0 中已知的问题。6.05.0 版本已不再由社区维护。
  2. 7.26.05.0 完全兼容。
  3. 7.2 对 ACL 功能进行了进一步增强。
  4. 不建议使用 5.0,因为它不支持 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
c5           cluster      5.0       NodePort   Ready                    4.0.1                         2m46s
c6           cluster      6.0                  Initializing             4.0.1                         3m26s
c7           cluster      7.2       NodePort   Initializing             4.0.1                         98s
s5           sentinel     5.0                  Ready                    4.0.1                         3m10s
s6           sentinel     6.0                  Ready                    4.0.1                         25m
s7           sentinel     7.2       NodePort   Ready                    4.0.1                         2m15s
standalone   standalone   6.0                  Initializing             4.0.1                         6s

输出表格字段含义如下:

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