Redis Enterprise for Kubernetes 发行说明 6.4.2-6(2023 年 6 月)
Redis Enterprise K8s 6.4.2-6 版本支持 Redis Enterprise Software 6.4.2,并包含新功能和功能改进。
适用于 Kubernetes 的 Redis Enterprise |
---|
概述
Redis Enterprise K8s 6.4.2-6 版本支持 Redis Enterprise Software 6.4.2,并包含新功能和功能改进。
下面介绍了主要功能、错误修复和已知限制。
图像
- Redis 企业版:
redislabs/redis:6.4.2-81
- 作员:
redislabs/operator:6.4.2-6
- 服务索具:
redislabs/k8s-controller:6.4.2-6
OpenShift 镜像
- Redis 企业版:
registry.connect.redhat.com/redislabs/redis-enterprise:6.4.2-81.rhel8-openshift
(或redislabs/redis-enterprise:6.4.2-81.rhel7-openshift
如果从 RHEL 7 升级) - 作员:
registry.connect.redhat.com/redislabs/redis-enterprise-operator:6.4.2-6
- 服务索具:
registry.connect.redhat.com/redislabs/services-manager:6.4.2-6
OpenShift OLM 捆绑包
- Redis Enterprise 运营商捆绑包版本:
v6.4.2-6
新功能
- 主动-主动数据库控制器正式发布,用于声明式配置支持
功能改进
- 主动-主动控制器改进包括添加对以下内容的支持:
- 通过 OLM 配置
- 证书
globalConfiguration
- 备份
globalConfiguration
- 模块 (预览版)
- Hashicorp Vault 秘密
- 指示同步失败到 REAADB
- 添加了对 separate 的支持
podAnnotations
对于 Redis Enterprise 容器,允许设置appArmor
异常 - 时区可以作为环境变量传递到 Redis Enterprise Pod 中
- REDB 命名空间可以被标记,而无需 operator 进入
CrashLoopBackoff
- 添加了对 K8s 1.27 的支持
- 添加了对 EKS 的 K8s 1.25 的支持
- 添加了对 AKS 和 GKE 的 K8s 1.26 的支持
- 改进了日志收集器执行日志,筛选出空文件,捕获卷附件,用于禁用 RS 捕获调试信息包的选项
- 添加
extraEnvVars
字段以支持 RS Pod 的环境变量 - 将 RKE2 更改为 Rancher 发行版的默认值
修复的 bug
- 无法删除处于无效状态的 REC (RED-78124)
- 删除 REC 后未删除 OpenShift 路由 (RED-94121)
- 源集群中的 REAADB 密钥状态未更新 (RED-96296)
- 未被允许拒绝的无效 REAADB 可能会在应用后被删除 (RED-96300)
- 作员在启动时记录有关缺少节点权限的错误 (RED-98227)
- 作员继续循环更新 REC 证书 (RED-98586)
- 尝试将多字节字符写入文件时,日志收集器脚本可能会崩溃 (RED-99869)
- 使用旧 kubectl 时,日志收集器无法包含 RS debuginfo (RED-101170)
- 由于 OLM 表单视图中需要 LDAP 配置,REC 创建失败 (RED-100517)
- 如果在升级开始时 Pod 0 不是 Master 节点,则在 OpenShift 上升级到 6.4.2(或 6.2.18)将失败 (RED-102100)
- 从 6.2.8-15(及更低版本)升级到 6.2.12-1(及更高版本)可能会破坏数据库 (RED-102241)
API 变更
RedisEnterpriseCluster (REC) API 中的以下字段已更改:
-
containerTimezoneSpec.timezoneName
添加了在 Redis Enterprise Pod 上配置时区 -
hostAliases
添加了向 Redis Enterprise pod 添加条目/etc/hosts
-
redisEnteprisePodAnnotations
添加了以指定只应在 Redis Enterprise 容器组(Redis Enterprise Pod)上设置的注释 -
ingressOrRouteSpec
enabled (已启用) 可在未启用 Alpha 功能的情况下使用 -
extraEnvVars
为高级用户添加了向 Redis Enterprise Pod 添加环境变量的功能 -
ServicesRiggerConfigurationSpec.podAnnotations
添加了指定只应在 Service Rigger Pod 上设置的注释 -
添加了以下自定义资源定义:
兼容性说明
已弃用的功能
- 对高级准入控制配置 Gesher 的支持已弃用。
支持的发行版
下表显示了此版本发布时支持的发行版。您还可以在 支持的 Kubernetes 发行版中找到此列表。
Kubernetes 版本 | 1.22 | 1.23 | 1.24 | 1.25 | 1.26 | 1.27 |
---|---|---|---|---|---|---|
社区 Kubernetes | 荒废的 | 支持 | 支持 | 支持 | 支持* | |
亚马逊 EKS | 荒废的 | 荒废的 | 支持 | 支持* | ||
Azure AKS | 荒废的 | 支持 | 支持 | 支持* | ||
谷歌 GKE | 荒废的 | 荒废的 | 支持 | 支持 | 支持* | |
牧场主 2.6 | 荒废的 | 荒废的 | 支持 | |||
牧场主 2.7 | 荒废的 | 支持 | ||||
VMware TKG 1.6 版 | 荒废的 | 荒废的 | ||||
OpenShift 版本 | 4.9 | 4.10 | 4.11 | 4.12 | ||
荒废的 | 支持 | 支持 | ||||
VMware TKGI 版本 | 1.13 | 1.14 | 1.15 | |||
荒废的 | 荒废的 | 支持 |
* 此版本中添加的支持
升级前
请注意,此版本中包含的以下更改会影响升级过程。在升级到 6.4.2-6 之前,请仔细阅读。
-
验证 WebhookConfiguration
该版本使用新的
ValidatingWebhookConfiguration
资源将redb-admission
webhook 资源。要使用版本 6.4.2-4 或更高版本,请删除旧的 Webhook 资源并应用新文件。有关说明,请参阅升级 Redis 集群。 -
OpenShift SCC
此版本包括一个新的 SCC (
redis-enterprise-scc-v2
),您需要在升级之前绑定到您的服务账户。如果跳过此步骤,则运行版本 6.2.12 或更早版本升级到版本 6.2.18 或更高版本的 OpenShift 集群可能会卡住。有关详细信息,请参阅升级 Redis Enterprise 集群 (REC)。
已知限制
新的限制
-
在修补缺少密钥或 RERC 的 REAADB 时,准入控制器可能不会发出警报 (RED-104463)从规范中删除密钥并创建缺少的密钥,然后再次重新修补 REAADB。
-
REAADB 更改可能会失败,并显示“网关超时”错误,主要在 OpenShift 上 (RED-103048)重试该作。
-
当服务创建因服务已存在而失败时,会出现误导性错误
provided IP is already allocated
“ (RED-100669)手动删除服务。 -
创建 REC 期间的现有 OpenShift 路由可能会阻止 REC 启动 (RED-100668)手动删除路由。
-
直接在 Redis Enterprise 软件上创建两个同名数据库将导致服务被删除,并且数据库将不可用 (RED-99997)避免重复数据库名称。通过 K8s 创建数据库已进行验证以防止这种情况。
-
安装 Operator 捆绑包时会产生警告:
Warning: would violate PodSecurity "restricted: v1.24"
(红色-97381)忽略该警告。此问题在 Red Hat 官方文档中记录为良性。
现有限制
-
RERC 资源必须具有唯一名称 (
<rec-name>/<rec-namespace>
) (红色-96302) -
准入不会阻止 REAADB
shardCount
超过许可证配额。(红色-96301)修复 REAADB 的问题并重新应用。 -
主动-主动安装程序删除可能会使服务或路由保持不被删除 (RED-77752)如果遇到此问题,请手动删除服务或路由。
-
autoUpgrade
设置为true
在以下情况下可能会导致意外的 BDB 升级redisUpgradePolicy
设置为true
(红色-72351)如果您的部署受到影响,请联系支持人员。 -
遵循前面的快速入门指南版本,由于内存字段名称无法识别,导致创建 REDB 时出现问题 (RED-69515)解决方法是使用 Quick Start 的较新 (当前) 修订版。
-
在规范中使用十进制值时出现 PVC 大小问题 (RED-62132)确保对 PVC 大小使用整数值。
-
REC 可能会在初始启动时报告错误状态 (RED-61707)目前除了忽略这些错误外,没有其他解决方法。
-
Hashicorp Vault 集成 - 不支持 Gesher (RED-55080)此问题没有解决方法。Gesher 支持已弃用。
-
REC 集群无法在时钟不同步的 Kubernetes 集群上启动 (RED-47254)当 REC 集群部署在时钟不同步的 Kubernetes 集群上时,REC 集群无法正常启动。解决方法是使用 NTP 同步底层 K8s 节点。
-
删除部署了 REC 的 OpenShift 项目可能会挂起 (RED-47192)当 REC 集群部署在项目(命名空间)中并具有 REDB 资源时,必须先删除 REDB 资源,然后才能删除 REC。因此,在删除 REDB 资源之前,项目删除将挂起。解决方法是先删除 REDB 资源,然后再删除 REC。然后,您可以删除该项目。
-
在基于 OLM 的部署中,集群必须命名为 “rec” (RED-39825)在 OLM 部署的 Operator 中,如果名称不是 “rec”,则集群部署将失败。通过 OLM 部署 Operator 时,安全上下文约束 (scc) 将绑定到特定的服务账户名称(即“rec”)。解决方法是将集群命名为 “rec”。
-
故障时就绪探针不正确 (RED-39300)STS Readiness 探测在运行时不会将节点标记为 “not ready”
rladmin status
节点故障时。 -
内部 DNS 和 Kubernetes DNS 可能存在冲突 (RED-37462)集群之间可能存在 DNS 冲突
mdns_server
和 K8s 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 工作节点的使用率。
-
无法访问的集群的状态为 running (RED-32805)当集群处于 unreachable 状态时,状态保持不变
running
而不是触发错误。 -
较长的集群名称会导致路由被拒绝 (RED-25871)超过 20 个字符的集群名称将导致路由配置被拒绝,因为域名的主机部分超过 63 个字符。解决方法是将集群名称限制为 20 个字符或更少。
-
无效更新后,不会报告群集 CR (REC) 错误 (RED-25542)如果依次更新了两个或多个无效的 CR 资源,则不会报集群 CR 规格错误。
安全
有关与 CVE 相关的修复列表,请参阅 Redis Enterprise 6.4.2-81 发行说明。