首页 > 解决方案 > Istio 是否支持 hazelcast-kubernetes?

问题描述

我正在使用istio 1.0.2 版本istio-demo-auth .yaml,我在 k8s 集群环境中使用了hazelcast-kubernetes 。

我之前在 k8s 集群中使用 hazelcast-kubernetes,当扩展两个 hazelcast-kubernetes StatefulSet 时,它们可以连接在一起,并使用我的服务。当时没有使用 istio。

最近我们的服务注入了 istio。我尝试用 istio 注入 hazelcast-kubernetes,它正在运行,但是这两个 hazelcast-kubernetes 无法连接在一起。

你知道如何为 hazelcast-kubernetes 配置 istio 吗?谢谢。

infor 消息如下:

信息:[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] 关闭。原因:连接被对方​​关闭

标签: kuberneteshazelcastistio

解决方案


Istio 通过使用防火墙规则限制网络连接来强制流量通过网状网络。这(目前)基于 Kubernetes 服务而不是具体的 pod。

Hazelcast 不应该与 istio 一起使用,根据: https ://groups.google.com/forum/#!topic/istio-users/d-THsO19oAM

虽然我认为这将在未来以某种方式解决,因为许多支持集群的项目(如数据库)使用某种直接通信来同步它们的事件/数据。

如果您将 hazelcast 作为专用服务而不是嵌入式运行,您可能想尝试在没有 istio sidecars 的情况下运行这些服务,因此它们使用常规的 kubernetes 网络并从您的 istio 增强服务连接到该服务。这应该是可能的。

更新

它现在应该可以工作了:https ://github.com/hazelcast/hazelcast-kubernetes/issues/118


推荐阅读