介绍
Alauda Cache Service E2 通过声明式自定义资源在 Kubernetes 上部署和运维 Valkey 实例。Valkey Operator 会协调期望状态,创建数据平面工作负载和 Services,并执行扩缩容、配置更新、升级和节点恢复等生命周期操作。
所有实例操作都基于 CLI。该产品不提供 Web 控制台。请使用 kubectl、valkey-cli 和 Kubernetes 原生自动化。
发布和服务器版本
下一个主要产品版本是 2.0.0。它支持以下 Valkey 服务器版本线:
不要使用 8.0 或 9.0,即使已安装的自定义资源定义(CRD)中的兼容性 enum 接受这些值。2.0.0 Operator 镜像映射仅选择 7.2、8.1 和 9.1 服务器版本线。其他版本线的 schema enum 值并不代表产品支持。
架构
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 账号。将生成的 Cluster、Failover、Sentinel、StatefulSet、Service、ConfigMap 和 Secret 资源视为由 operator 拥有的实现细节。
Valkey 复制是异步的。就绪的冗余拓扑可以提高可用性,但从节点读取可能是过期的,而且已确认的写入并不能保证在每次主节点故障后都能保留。客户端的一致性和重试要求必须考虑这种服务器行为。
有关不受支持的能力,以及固定 NodePort 分配、PVC 保留和监控集成的边界,请参见 当前限制。
协议和服务器行为参考:Valkey Cluster specification、Valkey replication 和 Valkey Sentinel。
Valkey 和 Valkey 标志是 LF Projects, LLC 的商标。