当前限制

以下限制适用于 2.0.0 文档基线。

管理界面

没有 Web 控制台。所有操作都需要 CLI 工具或 Kubernetes API 自动化。

服务端版本

仅支持 Valkey 7.2、8.1 和 9.1。已安装的自定义资源定义(CRD)为了兼容上游 API 历史,仍可能接受 8.09.0。这并不意味着产品支持:2.0.0 Operator 镜像映射只选择 7.2、8.1 和 9.1,而固定的镜像源也只构建这三条版本线。

检查到的 Helm Chart CRD 副本已过期,且省略了 9.09.1,而 API 源和规范生成的 CRD 都包含这两项。请验证交付的 2.0.0 包安装了允许 9.1 的 schema。缺少 9.1 enum 属于包缺陷,而不是绕过准入的理由。

备份、恢复和灾难恢复

Valkey Operator 不支持备份、恢复或灾难恢复。它不提供备份资源、恢复工作流、定时备份控制器、跨集群复制、跨集群故障切换或灾难恢复 API。单个 Kubernetes 集群内的高可用并不等同于备份或灾难恢复。本产品文档中不包含灾难恢复操作步骤。

固定 NodePort 分配

spec.access.ports 在 API 中存在,但检查到的 2.0.0 源在生成的 CRD schema 和运行时解析器中存在不兼容的格式。请保持该字段未设置,使 Kubernetes 分配主机端口,除非你的交付版本提供了文档化且经过验证的格式。

持久卷行为

在所检查的基线中,spec.storage.retainAfterDeleted 不起作用:生成的持久卷声明(PVC)从不携带指向实例的所有者引用,而且没有任何 Operator 调谐路径会删除它们,因此删除实例时总会留下其 PVC。在删除实例之前,请先列出其 PVC;之后,在确认其数据可以丢弃时,再显式删除不需要的 PVC。

spec.storage.accessMode 被 schema 接受,默认值为 ReadWriteOnce,但 StatefulSet 构建器始终请求 ReadWriteOnce;其他值不会被应用。

监控集成

exporter sidecar 和指标 Services 使用 redis_exporter 实现。检查到的 Operator 源并未建立与每个 9.1 命令或字段完全兼容的指标支持。请根据交付的 exporter 镜像验证所需指标。随附的 ServiceMonitor 选择的是 Operator 指标,而不是 Valkey 数据面指标;请创建并测试监控栈所需的数据面抓取配置。

调度策略实现

对于 Cluster 架构,检查到的实现仅在每个 shard 内应用 AntiAffinityInShardAntiAffinity。它不会在整个实例范围内强制每个 Pod 仅落在一个节点上。API 字面量 CustomAffinity 也与 Cluster StatefulSet 构建器使用的内部常量不匹配,因此在此基线中,spec.customAffinity 无法可靠地应用到 Cluster Pod。此外,Cluster 调谐路径在更新时会保留每个现有 StatefulSet 当前的 Pod 亲和性,因此,对现有 Cluster 实例的亲和性变更只会对之后创建的 StatefulSet 生效,例如新 shard。Failover 和 Replica 会直接复制 spec.customAffinity,并且不会使用高层 affinityPolicy 来选择它。另请参见 配置调度

TLS 端点和客户端证书边界

Operator 生成的服务端证书只覆盖一组有限的、生成出来的集群内名称;它不包含任意主机端口地址、负载均衡器地址,也不覆盖所有 .svc 形式。对于 Cluster 架构,它也不覆盖向客户端公布的每个 Pod 的 Service 名称或地址。因此,引导 TLS 连接可能通过主机名验证,而重定向后的连接却会失败。除非交付版本能让每个公布的端点都与证书的 subject alternative name 对齐,否则不要把标准的生成证书路径视为完整的生产 Cluster TLS 方案。

Valkey 默认也要求受信任的客户端证书,因为生成的服务端参数并未禁用 TLS 客户端认证。客户端需要受信任的证书颁发机构(CA)、受信任的客户端证书以及私钥。不要将实例服务端私钥作为通用客户端凭证分发。Operator 的内部客户端会禁用服务器名称验证;这种内部实现并不是应用客户端的安全配置模型。不要使用 --insecure 作为变通方案。

模块

spec.modules 仅渲染启动时的 loadmodule 指令。检查到的 2.0.0 容器源码未安装任何模块文件,而且高层 API 没有服务端镜像覆盖。除非交付版本明确提供并验证所请求的模块,否则应将模块视为在标准镜像中不可用。

配置过滤

rename-command 在某个源映射中被标记为需要重启,但在 Cluster 和 Failover 配置渲染器中都会被跳过,因此在此基线中不可用。被禁止的配置键,包括凭证和 TLS 口令指令,在 Cluster、Failover 和 Sentinel 配置路径中都会进行不区分大小写的过滤;大小写变体无法绕过 Operator 管理的列表。请验证生成的 ConfigMap 和生效的服务端配置。在交付的服务端镜像上,CONFIG GET 会将已设置的 requirepassprimaryauth 值报告为固定的脱敏占位符,而不是凭证。

Operator 未实现的功能

  • 集成的大 key 检查和报告导出;
  • 参数模板;
  • 集成日志查看器;
  • 自动跨集群复制或故障切换;
  • 由 Operator 管理的备份仓库或恢复作业。

缺少集成的大 key 报告并不妨碍使用 valkey-cli 进行受控的手动调查。有关操作影响和 Cluster 覆盖要求,请参见 使用 valkey-cli 分析大 key