创建实例

以下 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 等高级功能,缺乏用户管理能力;所有业务流程共享一个密码,存在潜在的安全风险;而且,修改密码需要重启所有节点。
架构选择建议

单节点架构没有副本节点,缺乏故障转移能力,因此只应在开发和测试环境中使用。您可以根据业务的数据和并发需求选择 哨兵架构集群架构

目录

创建 Redis 实例

操作步骤

哨兵 CLI
集群 CLI
单节点 CLI
Web 控制台

通过 CLI 创建 Redis 6.0 哨兵模式实例:

$ 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:集群模式
  • sentinel:哨兵模式
  • standalone:单节点 Redis
该字段指示此 CR 资源管理的是单实例、哨兵或集群模式的 Redis。
VERSION当前仅支持以下 3 个版本:5.06.07.2
ACCESS实例支持的访问方式。
  • : 实例通过 ClusterIP 提供服务
  • NodePort:实例通过 NodePort 提供服务
  • LoadBalancer:实例通过 LoadBalancer 提供服务
STATUS实例当前状态,可能包括以下状态:
  • Initializing:实例正在初始化或更新
  • Rebalancing:集群实例正在扩缩容
  • Error:实例遇到不可恢复的错误
  • Paused:实例已被手动暂停
  • Ready:实例已准备就绪
MESSAGE实例处于当前状态的原因
BUNDLE VERSION管理此实例的操作器版本号
AUTOUPGRADE实例是否启用自动升级
AGE实例创建时间