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 参数。
临时解决方案: 这个问题还没有临时解决方案。