Redis Enterprise for Kubernetes 发行说明 6.2.12-1(2022 年 9 月)
增加了对其他发行版的支持,以及功能改进和错误修复。
概述
Redis Enterprise K8s 6.2.12-1 支持 Redis Enterprise Software 版本 6.2.12,并包含功能改进和错误修复。
下面介绍了关键的错误修复和已知的限制。
图片
此版本包括以下容器映像:
- Redis Enterprise:
redislabs/redis:6.2.12-82或redislabs/redis:6.2.12-82.rhel8-openshift - 操作员:
redislabs/operator:6.2.12-1 - 服务装配工:
redislabs/k8s-controller:6.2.12-1或redislabs/services-manager:6.2.12-1(在 Red Hat 注册表上)
功能改进
- Redis Enterprise Software 6.2.12 支持 (RED-83829)
- 增加了对 Redis Enterprise 创建的服务注释的支持 (RED-56245)
- 支持相同 Redis 软件版本和相同操作员版本的附加版本。支持的版本列表将会发布。(RED-78757)
错误修复
- 修复与 Golang 相关的漏洞(RED-79205)
- 日志收集器创建更大的包(RED-79650)
- 当 Redis Enterprise 集群未运行时,日志收集器崩溃 (RED-79996)
- 在某些情况下,Redis Enterprise Software Pod 终止过程可能会导致 Pod 关闭,而主分片没有正确故障转移。此问题已得到修复,因此故障转移尝试会在宽限期内无限期重试,默认为 1 年。宽限期可通过 REC 中的 redisEnterpriseTerminationGracePeriodSeconds 参数控制(但请注意,关闭没有正确故障转移的 Pod 可能会导致数据丢失)。(RED-75388)
API 更改
Redis Enterprise 集群podSecurityPolicy已弃用。它仍受支持,但当所有支持该功能的 K8s 版本都被删除时,它也将被删除。
兼容性说明
下表显示了此版本发布时支持的发行版。请参阅支持的 Kubernetes 发行版,了解当前支持的发行版列表。
| Kubernetes 版本 | 1.20 | 1.21 | 1.22 | 1.23 | 1.24 |
|---|---|---|---|---|---|
| 社区 Kubernetes | 支持 | 支持 | 支持 | ||
| 亚马逊 EKS | 已弃用 | 支持 | 支持* | ||
| Azure AKS | 支持 | 支持 | 支持* | ||
| 谷歌 GKE | 已弃用 | 支持 | 支持 | 支持* | |
| Rancher 2.6 | 支持 | 支持 | 支持* | ||
| OpenShift 版本 | 4.7 | 4.8 | 4.9 | 4.10 | 4.11 |
| 已弃用 | 已弃用 | 支持 | 支持 | 支持* | |
| VMware TKGI 版本 | 1.11 | 1.12 | 1.13 | 1.14 | 1.15 |
| 已弃用 | 已弃用 | 支持* | 支持* |
* 此版本中添加了支持
已添加支持
- Azure AKS 1.24
- 亚马逊 EKS 1.23
- Google GKE 1.24
- OpenShift 4.11
- Rancher 1.23
- VMware TKGI 1.14
已弃用
- 亚马逊 EKS 1.21
- Google GKE 1.21
- OpenShift 4.7
- OpenShift 4.8
- VMware TKGI 1.11
- VMware TKGI 1.12
不再受支持
- 社区 Kubernetes 1.21
- Amazon EKS 1.19、1.20
- Azure AKS 1.21
- Google GKE 1.19、1.20
- Rancher 2.6 1.19, 1.20
- VMware TKGI 1.10
升级前
请注意,此版本中包含的以下更改将影响升级过程。升级前请仔细阅读。
支持的升级路径
如果您使用的是 6.2.8-15 或更早版本的操作员版本,则无法直接升级到 6.2.12 至 6.4.2-5 版本的操作员版本。您必须先升级到 6.2.10-45 版本的操作员版本,然后才能升级到 6.2.12 和 6.4.2-5 之间的操作员版本。但是,支持直接升级到 6.4.2-6 版本的操作员版本。
已知限制
大型集群
在具有超过 9 个 REC 节点的集群上,Kubernetes 升级在某些情况下可能会导致 Redis 集群无响应。6.4.2-5 版本中提供了修复。在升级 Kubernetes 集群之前,请先将您的操作员版本升级到 6.4.2-5 或更高版本。(RED-93025)
-
长集群名称导致路由被拒绝 (RED-25871)
集群名称长度超过 20 个字符会导致路由配置被拒绝,因为域名的主机部分将超过 63 个字符。解决方法是将集群名称限制为 20 个字符或更少。
-
无效更新后未报告集群 CR(REC)错误(RED-25542)
如果连续更新两个或更多无效的 CR 资源,则不会报告集群 CR 规范错误。
-
无法访问的集群处于运行状态 (RED-32805)
当集群处于不可达状态时,该状态保持不变,
running而不是被报告为错误。 -
故障时就绪探测不正确(RED-39300)
在节点发生故障时,STS 就绪情况探测不会将节点标记为“未就绪”
rladmin status。 -
副本集上缺少角色(RED-39002)
该
redis-enterprise-operator角色缺少对副本集的权限。 -
OpenShift 3.11 不支持私有注册表(RED-38579)
OpenShift 3.11 不支持 DockerHub 私有注册表。这是一个已知的 OpenShift 问题。
-
内部 DNS 和 Kubernetes DNS 可能存在冲突 (RED-37462)
集群
mdns_server和 K8s DNS 之间可能会发生 DNS 冲突。这只会影响集群节点内针对 Kubernetes DNS 名称的 DNS 解析。 -
5.4.10 对 5.4.6 产生负面影响 (RED-37233)
基于 Kubernetes 的 5.4.10 部署似乎会对共享 Kubernetes 集群的现有 5.4.6 部署产生负面影响。
-
报告的是节点 CPU 使用率而不是 pod CPU 使用率 (RED-36884)
在 Kubernetes 中,我们报告的节点 CPU 使用率是托管 REC pod 的 Kubernetes 工作节点的使用率。
-
在基于 OLM 的部署中,集群必须命名为“rec”(RED-39825)
在 OLM 部署的操作员中,如果名称不是“rec”,则集群部署将失败。当通过 OLM 部署操作员时,安全上下文约束 (scc) 会绑定到特定的服务帐户名称(即“rec”)。解决方法是将集群命名为“rec”。
-
REC 集群无法在时钟不同步的 Kubernetes 集群上启动 (RED-47254)
当 REC 集群部署在时钟不同步的 Kubernetes 集群上时,REC 集群无法正确启动。解决方法是使用 NTP 同步底层 K8s 节点。
-
删除已部署 REC 的 OpenShift 项目可能会挂起 (RED-47192)
当 REC 集群部署在项目(命名空间)中并且具有 REDB 资源时,必须先删除 REDB 资源,然后才能删除 REC。因此,在删除 REDB 资源之前,项目删除将挂起。解决方法是先删除 REDB 资源,然后再删除 REC。之后,您可以删除项目。
-
REC extraLabels 不适用于 K8s 版本 1.15 或更早版本的 PVC (RED-51921)
在 K8s 1.15 或更早版本中,PVC 标签来自匹配选择器,而不是 PVC 模板。因此,这些版本无法支持 PVC 标签。如果需要此功能,唯一的解决方法是将 K8s 集群升级到较新的版本。
-
Hashicorp Vault 集成 - 不支持 Gesher (RED-55080)
目前尚无解决方法。
-
REC 可能会在初始启动时报告错误状态 (RED-61707)
除了忽略错误之外,目前没有其他解决方法。
-
在规范中使用十进制值时出现 PVC 大小问题 (RED-62132)
解决此问题的方法是确保使用整数值作为 PVC 大小。
-
按照快速入门指南的旧版本创建 REDB 时,由于无法识别的内存字段名称而出现问题 (RED-69515)
解决方法是使用在线提供的快速入门文档的较新(当前)修订版。
-
autoUpgrade操作员将其设置为 true 可能会导致意外的 bdb 升级redisUpgradePolicy(RED-72351)如果您的部署受到影响,请联系支持人员。
-
当使用路由从外部访问集群时,在 OpenShift 上更新凭据的过程可能会有问题(RS 问题)(RED-73251)(RED-75329)要解决此问题,请从 K8s 集群内部访问 API。
-
在 Windows 上,
log_collector无法识别-n标志给出的命名空间(RED-83532)要解决此问题,请使用其他操作系统。
-
如果使用 Nginx 入口控制器时入口类注释不完全是“nginx”,则主动-主动数据库创建将失败 (RED-83070)