我在 istio-demo-auth .yaml中使用 istio 1.0.2版本 在k8s集群环境中使用了 hazelcast-kubernetes 。
以前,我在k8s集群中使用了hazelcast-kubernetes,在扩展两个hazelcast-kubernetes StatefulSet时,它们可以连接在一起并使用我的服务。那个时候不使用istio。
最近我们的服务注入了istio。我尝试向istio注入hazelcast-kubernetes,它正在运行,但是这两个hazelcast-kubernetes无法连接在一起。
您知道如何使用istio配置hazelcast-kubernetes吗?谢谢。
infor消息如下:
INFO:[172.50.3.67]:5701 [dev] [3.10.3]在/127.0.0.1:5701和/127.0.0.1:57308之间建立了套接字连接 2018年11月28日9:30:03 com.hazelcast.nio.tcp.TcpIpConnection
INFO:[172.50.3.67]:5701 [dev] [3.10.3] Connection [id = 321,/ 127.0.0.1:5701-> / 127.0.0.1:57308、endpoint=null、alive=false、type=NONE]关闭。原因:对方关闭了连接
答案 0 :(得分:0)
Istio的工作原理是使用防火墙规则限制网络连接,以强制流量通过网状网络。 (当前)基于kubernetes服务而不是具体的pod。
根据以下说明,Hazelcast尚不能与istio一起使用: https://groups.google.com/forum/#!topic/istio-users/d-THsO19oAM
尽管我认为将来会以某种方式解决此问题,因为许多支持群集的项目(如数据库)使用某种直接通信来同步其事件/数据。
如果您将hazelcast作为专用服务而不是嵌入式服务运行,则可能要尝试在没有istio边车的情况下运行它们,因此它们使用常规的kubernetes网络,并从istio增强的服务连接到该服务。那应该是可能的。