介绍

Alauda Cache Service E2 通过声明式自定义资源在 Kubernetes 上部署和运维 Valkey 实例。Valkey Operator 会协调期望状态,创建数据平面工作负载和 Services,并执行扩缩容、配置更新、升级和节点恢复等生命周期操作。

所有实例操作都基于 CLI。该产品不提供 Web 控制台。请使用 kubectlvalkey-cli 和 Kubernetes 原生自动化。

发布和服务器版本

下一个主要产品版本是 2.0.0。它支持以下 Valkey 服务器版本线:

Supported lineUse in spec.version
Valkey 7.2"7.2"
Valkey 8.1"8.1"
Valkey 9.1"9.1"

不要使用 8.09.0,即使已安装的自定义资源定义(CRD)中的兼容性 enum 接受这些值。2.0.0 Operator 镜像映射仅选择 7.2、8.1 和 9.1 服务器版本线。其他版本线的 schema enum 值并不代表产品支持。

架构

ArchitectureAPI valueDescriptionMinimum production shape
Clustercluster将 16,384 个哈希槽分布到各个分片。至少 3 个分片,且每个分片至少 2 个成员。
Failoverfailover运行一个由奇数个 Sentinel 部署监控的主从组。至少 2 个数据成员和 3 个 Sentinel。
Replicareplica运行一个不带 Sentinel 的主从组。仅在非高可用场景下选择 1 个成员;在需要复制时至少使用 2 个。

spec.replicas.replicasOfShard 是一个旧字段名。在已实现的工作负载中,它表示 Cluster 每个分片的成员总数,或 Failover 和 Replica 的数据节点总数。例如,replicasOfShard: 2 在协调后会创建 1 个主节点和 1 个从节点。

已实现的能力

  • 原地变更分片和成员,包括 Cluster 槽位重新均衡;
  • 滚动版本升级和滚动重启;
  • 由 Kubernetes Secrets 支持的 Valkey 访问控制列表(ACL)用户;
  • ClusterIP、NodePort 和 LoadBalancer Services;
  • IPv4 或 IPv6 单栈 Services;
  • 可选的 cert-manager 签发的双向 TLS(mTLS);
  • 通过持久卷声明(PVC)实现的可选持久存储;
  • node 选择器、容忍度、已实现的亲和性策略以及 Pod 安全上下文;
  • 通过 exporter sidecar 提供的 Valkey 指标;
  • 对受支持参数的热配置更新;
  • 加固的凭证处理:哈希化 ACL 密码、加密的配置凭证,以及在随产品交付的镜像上对凭证指令的 CONFIG GET 输出进行脱敏。

职责边界

Operator 负责协调 Kubernetes 资源和 Valkey 拓扑。应用所有者仍需负责工作负载特定的 key 设计、客户端重试和超时行为,以及容量目标。备份、恢复和灾难恢复不是 2.0.0 中的产品能力。Cluster 或 Failover 的冗余可防范部分 Pod 或节点故障,但既不是备份,也不是灾难恢复。

请将高级别 Valkey 资源用于期望状态变更,并将 User 用于 ACL 账号。将生成的 ClusterFailoverSentinel、StatefulSet、Service、ConfigMap 和 Secret 资源视为由 operator 拥有的实现细节。

Valkey 复制是异步的。就绪的冗余拓扑可以提高可用性,但从节点读取可能是过期的,而且已确认的写入并不能保证在每次主节点故障后都能保留。客户端的一致性和重试要求必须考虑这种服务器行为。

有关不受支持的能力,以及固定 NodePort 分配、PVC 保留和监控集成的边界,请参见 当前限制

协议和服务器行为参考:Valkey Cluster specificationValkey replicationValkey Sentinel


Valkey 和 Valkey 标志是 LF Projects, LLC 的商标。