首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Openshift中的Infinispan (红帽数据网格),具有WebSphere自由

Openshift中的Infinispan (红帽数据网格),具有WebSphere自由
EN

Stack Overflow用户
提问于 2021-04-12 22:26:34
回答 1查看 275关注 0票数 0

我们正在尝试在我们的OCP (4.5.36)集群中使用Red Hat Data Grid (RHDG)/Infinispan。我们安装了最新的官方RHDG运算符,并定义了缓存类型集群。(这显然是一个k8s StatefulSet。)

然后,我已经配置了一个Infinispan容器/部署,以尝试使用WebSphere集群进行会话,如https://github.com/WASdev/ci.docker#session-caching中所述。

Infinispan群集和Liberty部署都在同一个项目/命名空间中。

但是,Liberty容器无法连接,并且Infinispan容器报告了它们自己的几个警告。

Liberty容器“客户端”日志:

代码语言:javascript
运行
复制
INFINISPAN_SERVICE_NAME(original): session-infinispan
INFINISPAN_SERVICE_NAME(normalized): SESSION_INFINISPAN
INFINISPAN_HOST: 172.30.137.86
INFINISPAN_PORT: 11222
INFINISPAN_USER: developer
INFINISPAN_PASS: <redacted>

Launching defaultServer (WebSphere Application Server 21.0.0.3/wlp-1.0.50.cl210320210309-1101) on Eclipse OpenJ9 VM, version 1.8.0_282-b08 (en_US)
[AUDIT   ] CWWKE0001I: The server defaultServer has been launched.
[AUDIT   ] CWWKE0100I: This product is licensed for development, and limited production use. The full license terms can be viewed here: https://public.dhe.ibm.com/ibmdl/export/pub/software/websphere/wasdev/license/base_ilan/ilan/21.0.0.3/lafiles/en.html
[AUDIT   ] CWWKG0093A: Processing configuration drop-ins resource: /opt/ibm/wlp/usr/servers/defaultServer/configDropins/defaults/keystore.xml
[AUDIT   ] CWWKG0093A: Processing configuration drop-ins resource: /opt/ibm/wlp/usr/servers/defaultServer/configDropins/overrides/infinispan-client-sessioncache.xml
[AUDIT   ] CWWKZ0058I: Monitoring dropins for applications.
[AUDIT   ] CWWKT0016I: Web application available (default_host): http://payment-engine-6dcc5b6d5-jclx2:9080/payment/
[ERROR   ] ISPN004007: Exception encountered. Retry 10 out of 10
org.infinispan.client.hotrod.exceptions.TransportException:: ISPN004071: Connection to 172.30.137.86/172.30.137.86:11222 was closed while waiting for response.
[ERROR   ] SESN0307E: An exception occurred when initializing the cache. The exception is: org.infinispan.client.hotrod.exceptions.TransportException:: org.infinispan.client.hotrod.exceptions.TransportException:: ISPN004071: Connection to 172.30.137.86/172.30.137.86:11222 was closed while waiting for response.
    at org.infinispan.client.hotrod.impl.transport.netty.ActivationHandler.exceptionCaught(ActivationHandler.java:53)
    at io.netty.channel.AbstractChannelHandlerContext.invokeExceptionCaught(AbstractChannelHandlerContext.java:300)
...

Inifinispan容器日志的相关部分:

代码语言:javascript
运行
复制
03:40:18,628 WARN  (SINGLE_PORT-ServerIO-4-2) [io.netty.handler.ssl.ApplicationProtocolNegotiationHandler] [id: 0xc39380c8, L:/10.254.0.248:11222 ! R:/10.254.2.65:32986] TLS handshake failed: io.netty.handler.ssl.NotSslRecordException: not an SSL/TLS record: a0061e21000003ffffffff0f0000
    at io.netty.handler.ssl.SslHandler.decodeJdkCompatible(SslHandler.java:1254)

(实际上,有几个Infinispan启动警告,主要是关于不推荐使用的功能。但这是唯一一个具有堆栈跟踪的文件,因此我得出结论,它可能是“罪魁祸首”。)

此外,这是Infinispan,因此您可以看到与Liberty容器使用的IP和端口相匹配:

EN

回答 1

Stack Overflow用户

发布于 2021-04-13 22:52:26

the Infinispan chat service上解决此问题时,似乎确实存在不正确或不完整的SSL/TLS设置。

我曾试图删除Infinispan集群中的加密,但我没有充分重启组件,或者事后无法更改它。但是,删除群集并在禁用它的情况下重新创建,可以使Liberty通信正常工作。

以下CR YAML有效:

代码语言:javascript
运行
复制
apiVersion: infinispan.org/v1
kind: Infinispan
metadata:
  name: session-infinispan
spec:
  replicas: 1
  service:
    type: Cache 
  security:
    endpointEncryption:
      type: None

现在让我们来看看Liberty设置中缺少的部分,以便正确地使用SSL。Infinispan对话表明,来自官方镜像的Liberty XML设置:

代码语言:javascript
运行
复制
<server>
  <featureManager>
    <feature>sessionCache-1.0</feature>
  </featureManager>
  <httpSessionCache libraryRef="InfinispanLib">
    <properties infinispan.client.hotrod.server_list="${INFINISPAN_HOST}:${INFINISPAN_PORT}"/>
    <properties infinispan.client.hotrod.marshaller="org.infinispan.commons.marshall.JavaSerializationMarshaller"/>
    <properties infinispan.client.hotrod.java_serial_whitelist=".*"/>
    <properties infinispan.client.hotrod.auth_username="${INFINISPAN_USER}"/>
    <properties infinispan.client.hotrod.auth_password="${INFINISPAN_PASS}"/>
    <properties infinispan.client.hotrod.auth_realm="default"/>
    <properties infinispan.client.hotrod.sasl_mechanism="DIGEST-MD5"/>
    <properties infinispan.client.hotrod.auth_server_name="infinispan"/>
  </httpSessionCache>
  <httpSessionCache enableBetaSupportForInfinispan="true"/> <!-- TODO remove once no longer gated -->
  <library id="InfinispanLib">
    <fileset dir="${shared.resource.dir}/infinispan" includes="*.jar"/>
  </library>
</server>

Needs the following properties added

代码语言:javascript
运行
复制
# Encryption
infinispan.client.hotrod.sni_host_name=$SERVICE_HOSTNAME
# Path to the TLS certificate.
# Clients automatically generate trust stores from certificates.
infinispan.client.hotrod.trust_store_path=/var/run/secrets/kubernetes.io/serviceaccount/service-ca.crt
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67060215

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档