Data Grid Operator 8.2 发行注记
Data Grid Operator 8.2
摘要
Red Hat Data Grid 复制链接链接已复制到粘贴板!
Data Grid 是一个高性能分布式内存数据存储。
- 无架构数据结构
- 将不同对象存储为键值对的灵活性。
- 基于网格的数据存储
- 旨在在集群中分发和复制数据。
- 弹性扩展
- 动态调整节点数量,以便在不中断服务的情况下满足需求。
- 数据互操作性
- 从不同端点在网格中存储、检索和查询数据。
Data Grid 文档 复制链接链接已复制到粘贴板!
红帽客户门户网站中提供了 Data Grid 的文档。
Data Grid 下载 复制链接链接已复制到粘贴板!
访问红帽客户门户上的 Data Grid 软件下载。
您必须有一个红帽帐户才能访问和下载数据中心软件。
使开源包含更多 复制链接链接已复制到粘贴板!
红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。我们从这四个术语开始:master、slave、黑名单和白名单。由于此项工作十分艰巨,这些更改将在即将推出的几个发行版本中逐步实施。有关更多详情,请参阅我们的首席技术官 Chris Wright 提供的消息。
第 1 章 升级到最新的 Data Grid 版本 复制链接链接已复制到粘贴板!
红帽建议尽快将任何部署从 8.2.x 升级到最新的 Data Grid 8 版本。Data Grid 团队定期修补安全漏洞,并主动修复软件的最新版本的问题。
第 2 章 Data Grid Operator 8.2 复制链接链接已复制到粘贴板!
获取 Data Grid Operator 8.2 的版本详情,以及问题的信息。
2.1. Data Grid Operator 8.2 GA 复制链接链接已复制到粘贴板!
了解 Data Grid 8.2 的 Data Grid Operator 的新功能。
备份 CR 和 Restore CR
Data Grid Operator 监视自定义资源(CR),可让您备份和恢复 Data Grid 集群状态,以便在 Data Grid 版本之间迁移。
备份CR- 将 Data Grid 集群内容存档到持久性卷。
恢复CR- 将存档内容恢复到 Data Grid 集群。
批处理 CR
Data Grid Operator 提供了一个 Batch CR,可让您批量创建 Data Grid 资源。Batch CR 在批处理模式中使用 Data Grid Operator 命令行界面(CLI)来执行操作序列。
用户身份验证的可用性改进
operator 用户的内部端点
Data Grid Operator 现在将用于内部操作的 operator 用户与应用程序用户分开,并添加新的 *-generated-operator-secret 身份验证 secret。
您不再需要将凭证添加到 secret 中,以便 Data Grid Operator 可以在创建缓存时访问您的集群。从 Data Grid 8.2 开始,Data Grid Operator 使用 operator 用户和对应的密码来执行缓存操作。
禁用身份验证
您可以为应用程序用户禁用身份验证,以允许不受限制的访问缓存。
扩展跨站点复制的配置选项
使用不同集群名称的跨站点复制
Data Grid Operator 不再需要 Data Grid 集群具有相同的名称,并在匹配的命名空间中运行,以进行跨站点复制。
如果集群名称或命名空间不同,您可以使用 spec.sites.locations.clusterName 和 spec.sites.locations.namespace 字段指定它们。
手动跨站点配置
您可以为 Data Grid 集群指定静态主机和端口,以便对在 OpenShift 外部运行的 Data Grid 集群执行备份,或者无法访问 Kubernetes API。
在同一 OpenShift Container Platform 集群中配置跨站点复制
出于评估和演示目的,您可以将 Data Grid 配置为在同一 OpenShift 集群中的节点之间备份。
临时存储类型
Data Grid Operator 现在允许您设置 spec.service.container.ephemeralStorage 字段,以定义存储是临时或永久的。将值设为 true 以使用临时存储,这意味着当集群关闭或重启时,存储中的所有数据都会被删除。默认值为 false,这意味着存储是永久的。
Grafana 仪表板
Data Grid Operator 创建 Grafana 仪表板,可让您视觉化指标以更有效地监控数据网格服务。
自定义代码部署
Data Grid Operator 允许您向 Data Grid 集群添加自定义代码,如脚本和事件监听程序。
云事件
通过将 CloudEvents 发送到 Apache Kafka 主题,将 Data Grid 配置为 Knative 源。
使用 Red Hat OpenShift Serverless 发送云事件 目前作为技术预览提供。
原生 CLI
Data Grid 8.2 添加了原生 CLI,您可以在 Linux、macOS 或 Windows 上运行,并用作 oc 客户端插件。
- 从红帽客户门户下载 Data Grid Software Downloads,下载原生 CLI。
-
为安装说明和示例用法,打开发布中包含的
README。
原生 CLI 目前作为技术预览提供。
2.2. Data Grid Operator 8.2.x 发行版本信息 复制链接链接已复制到粘贴板!
下表提供了 Data Grid Operator 的详细信息。
Data Grid Operator 版本并不总是与 Data Grid 版本直接对应,因为发行计划更为频繁。
如果您手动升级 Data Grid 集群,并将 Data Grid Operator 订阅的频道从 8.1.x 升级到 8.2.x,您应该尽快为最新的 Data Grid 8.2.x 版本应用升级,以避免潜在的数据丢失,从而导致 8.2.0 的问题出现问题。
| Data Grid Operator 版本 | Data Grid 版本 | 功能 |
|---|---|---|
| 8.2.8 | 8.2.3 | 修复以下安全漏洞 CVE-2021-44832、CVE-2021-45046、CVE-2021-45105 以及影响 Apache Log4j 日志记录库的 CVE-2021-45105。 红帽建议尽快将部署升级到这个版本。如果您无法升级,红帽建议您按照上面提到的 Log4j 漏洞的安全公告页面中包含的缓解方案步骤。 |
| 8.2.7 | 8.2.2 | 修复安全漏洞,包括 CVE-2021-44228,这会影响 Apache Log4j 日志记录库。 红帽建议尽快将部署升级到这个版本。如果您无法升级,红帽建议您按照步骤来缓解 RHSB-2021-009 Log4Shell - Remote Code Execution security bulletin 中的安全漏洞。 |
| 8.2.6 | 8.2.1 | 修复安全漏洞。 |
| 8.2.5 | 8.2.1 | 修复安全漏洞。 |
| 8.2.4 | 8.2.1 | * 将 Data Grid Operator 升级到 Level 4 - 深入了解 Insights 功能。 * 改进了事件日志记录以增强部署监控。 * 更新 Data Grid CRD 的 API 版本。此更改删除了从 OpenShift 4.9 开始不再可用的已弃用的 OpenShift API 的使用。 * 添加了对通过 HTTP 或 FTP 加载外部依赖项的支持。 * 修复安全漏洞。 |
| 8.2.3 | 8.2.1 | 修复安全漏洞。 |
| 8.2.2 | 8.2.1 |
* 使用 * 修复了程序错误和安全漏洞。 |
| 8.2.1 | 8.2.0 | * 添加了对安全授权(Role Based Access Control 或 RBAC)的支持。 * 添加了对客户端证书身份验证的支持。 * 修复了程序错误和安全漏洞。 |
| 8.2.0 | 8.2.0 |
2.3. OpenShift 部署的已知问题 复制链接链接已复制到粘贴板!
本节论述了影响 Red Hat OpenShift 上运行的 Data Grid 集群的问题。有关 Data Grid 的完整详情,您应该参考 Data Grid 8.2 发行注记。
在升级或重启 Red Hat OpenShift Container Platform 4.9 后,Data Grid pod 崩溃
问题: JDG-5026
描述 : 升级 Data Grid 后,或者在安全关闭后重启集群时,一些 pod 不会启动运行。因此,Data Grid 集群无法成功重启并恢复到正确的状态。
在 pod 中运行的数据网格服务器节点不会在发生这种情况时记录任何消息。受影响的节点遇到严重错误并静默崩溃。
此问题只会影响 Red Hat OpenShift 版本 4.9 上安装,并与 Red Hat OpenShift 处理 StatefulSet 对象的更改相关。
临时解决方案: 如果在 Red Hat OpenShift 4.9 上安装 Data Grid Operator,您应该使用 Backup 和 Restore CR 来重新创建 Data Grid 集群。在升级 Data Grid 版本或执行安全关闭前,会创建备份。然后,您可以创建新集群并恢复其状态。
或者,您可以在升级或重启前将集群扩展到一个节点 replicas=1。但是,该节点必须具有整个数据集的容量。
客户端无法连接到使用 TLS/SSL 加密的远程缓存
问题: JDG-4763
描述 : 客户端无法连接到远程缓存,Data Grid 日志会显示与 SSL 相关的 WARN 日志消息。
有关日志消息的完整详情,请参阅以下红帽知识库文章: 客户端在升级到 RHDG 8.2.1 后无法连接服务器。
临时解决方案: 修改 Infinispan CR 以使用 Java TLS/SSL 库,而不是 OpenSSL,如下所示:
spec:
container:
extraJvmOpts: "-Dorg.infinispan.openssl=false"
spec:
container:
extraJvmOpts: "-Dorg.infinispan.openssl=false"
只有在所有 pod 都处于 Ready 状态时,Data Grid Operator 会升级 Data Grid 集群
问题: JDG-4724
描述 : 如果 Data Grid Operator 检测到任何 pod 没有完全运行且处于 Ready 状态,则集群升级会失败。
临时解决方案: 这个问题还没有临时解决方案。当升级失败时,Data Grid 集群不会回滚到之前的版本。在这种情况下,您应该删除集群,然后使用所需版本创建新集群。
升级过程中意外的 pod 重启可能会导致部署失败
问题: JDG-4737
描述 : 如果 Data Grid pod 在 OLM 从早期版本升级过程中重启,重启不会来自 Data Grid Operator,则 Data Grid 集群可能无法成功部署。
临时解决方案: 这个问题还没有临时解决方案。
Data Grid Server 不配置属性域以使用 Validate 策略进行身份验证
问题: JDG-4722
描述 : 如果您配置 Data Grid 以验证客户端证书,spec.security.endpointEncryption.clientCert: Validate,则 Data Grid Server 会禁用凭证身份验证。
临时解决方案: 这个问题还没有临时解决方案。
热 Rod 客户端无法连接到验证客户端证书的 Data Grid 集群
问题: JDG-4688
描述 : 如果您配置 Data Grid 以验证客户端证书,spec.security.endpointEncryption.clientCert: Validate, Hot Rod 客户端无法使用 EXTERNAL 身份验证机制连接到 Data Grid 集群,并在日志中写入以下消息:
Caused by: java.lang.SecurityException: ISPN004031: The selected authentication mechanism 'EXTERNAL' is not among the supported server mechanisms:
Caused by: java.lang.SecurityException: ISPN004031: The selected authentication mechanism 'EXTERNAL' is not among the supported server mechanisms:
临时解决方案: 这个问题还没有临时解决方案。如果您需要客户端证书身份验证并使用 Hot Rod 客户端,您应该将 Data Grid 配置为验证客户端证书,spec.security.endpointEncryption.clientCert: Authenticate。
在使用客户端证书身份验证时,热 Rod 客户端无法通过 OpenShift 路由连接到 Data Grid 集群
问题: JDG-4689
Description: 如果您通过 OpenShift Route 向客户端公开数据网格并启用客户端证书身份验证,Hot Rod 客户端无法成功连接,并且 org.infinispan.client.hotrod.exceptions.TransportException 错误会被写入日志。
临时解决方案: 这个问题还没有临时解决方案。
OpenShift 上的数据网格在 OOM 异常后持续重启
问题: JDG-3991
描述 : 如果内存不足异常会导致 Data Grid Server 在 OpenShift 上终止,则节点无法重启。以下异常写入 pod 日志文件:
FATAL (main) [org.infinispan.SERVER] ISPN080028: Red Hat Data Grid Server failed to start java.util.concurrent.ExecutionException: org.infinispan.manager.EmbeddedCacheManagerStartupException: org.infinispan.commons.CacheException: Initial state transfer timed out for cache org.infinispan.LOCKS on <pod-name-id>
FATAL (main) [org.infinispan.SERVER] ISPN080028: Red Hat Data Grid Server failed to start java.util.concurrent.ExecutionException: org.infinispan.manager.EmbeddedCacheManagerStartupException: org.infinispan.commons.CacheException: Initial state transfer timed out for cache org.infinispan.LOCKS on <pod-name-id>
临时解决方案: 这个问题还没有临时解决方案。
作为 OpenShift 客户端插件运行的原生 CLI 无法使用加密连接
问题: JDG-4566
描述 : 将 Data Grid 命令行界面(CLI)的原生可执行文件作为 oc 客户端插件(当前为技术预览功能)在连接到使用端点加密的 Data Grid 集群时无法使用 --trustall 参数。
临时解决方案: 这个问题还没有临时解决方案。
第 3 章 OpenShift 上的数据网格 复制链接链接已复制到粘贴板!
3.1. Data Grid 8.2 镜像 复制链接链接已复制到粘贴板!
Data Grid 8.2 包括两个容器镜像,即 Data Grid Operator 镜像和 Data Grid Server 镜像。
Data Grid 镜像托管在 Red Hat Container Registry 上,您可以在其中查找镜像的健康索引,以及每个标记的版本的信息。
红帽只通过 Data Grid Operator 订阅在 OpenShift 上支持 Data Grid 8.2。
自定义数据网格部署
红帽不支持通过 Source-to-Image (S2I)进程或 ConfigMap API 自定义来自 Red Hat Container Registry 的任何 8.2 镜像。
因此,无法使用自定义:
- 发现协议
- 加密机制(SYM_ENCRYPT 或 ASYM_ENCRYPT)
- 持久性数据源
3.2. OpenShift 上的嵌入式缓存 复制链接链接已复制到粘贴板!
在 OpenShift 上运行的应用程序中使用嵌入式数据网格缓存,在以前的版本中称为 Library 模式,仅用于特定用途:
- 在自定义 Java 应用程序中使用本地或分布式缓存来完全控制缓存生命周期。另外,在使用只可用于嵌入式数据网格(如分布式流)的功能时。
-
减少网络延迟以提高缓存操作的速度。
Hot Rod 协议提供接近缓存功能,可实现与标准客户端-服务器架构同等的性能。
要求
在 OpenShift 上运行的应用程序中嵌入 Data Grid 需要使用一个发现机制,以便 Data Grid 节点可以组成集群来复制和分发数据。
红帽支持将 DNS_PING 用作集群发现机制。
DNS_PING 公开一个名为 ping 的端口,Data Grid 节点使用它来执行发现和加入集群。TCP 是 ping 端口唯一支持的协议,如下例所示:
限制
在 OpenShift 上运行的应用程序中嵌入 Data Grid 也有一些特定限制:
- 目前不支持持久性缓存存储。
- 嵌入式 Data Grid 不支持 UDP。
自定义缓存服务
红帽强烈建议嵌入 Data Grid 来构建自定义缓存服务器来处理远程客户端请求。要受益于常规的、性能改进和修复安全问题的自动更新,您应该使用 Data Grid Operator 创建 Data Grid 集群。
参考
第 4 章 技术预览 复制链接链接已复制到粘贴板!
Data Grid 版本提供技术预览功能。了解有关红帽对这些功能的支持的更多信息。
4.1. 技术预览功能 复制链接链接已复制到粘贴板!
红帽产品服务级别协议(SLA)不支持技术预览功能或功能,且可能无法正常工作。
红帽不推荐在生产环境中使用技术预览功能或功能。这些功能为您提供对即将推出的产品功能的早期访问,这些功能允许您在开发过程中测试并提供反馈。
如需更多信息,请参阅红帽技术预览功能支持范围。