问题
I am using istio 1.0.2 version with istio-demo-auth.yaml, and I used hazelcast-kubernetes in the k8s cluster environment.
I was using hazelcast-kubernetes in the k8s cluster before, when scale two hazelcast-kubernetes StatefulSet, they can join together, and working with my services. Not using istio that time.
Recently our services injected with istio. I try to inject the hazelcast-kubernetes with istio, it was running, but those two hazelcast-kubernetes cannot join together.
Do you know how to configure with istio for hazelcast-kubernetes? Thanks.
The infor message was like below:
INFO: [172.50.3.67]:5701 [dev] [3.10.3] Established socket connection between /127.0.0.1:5701 and /127.0.0.1:57308 Nov 28, 2018 9:30:03 AM 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] closed. Reason: Connection closed by the other side
回答1:
Istio works by limiting the network connectivity using firewall rules to force traffic through the mesh network. This is (currently) based on kubernetes services not concrete pods.
Hazelcast should not work with istio yet, according to:
https://groups.google.com/forum/#!topic/istio-users/d-THsO19oAM
Although I assume that this will be tackled in some way in the future, because many cluster-enabled projects like databases use some kind of direct communication to sync their events/data.
If you are running hazelcast as dedicated services and not embedded, you might want to try to run these without istio sidecars, so they use the regular kubernetes networking and connect from your istio-enhanced services to that. That should be possible.
UPDATE
It should work now: https://github.com/hazelcast/hazelcast-kubernetes/issues/118
来源:https://stackoverflow.com/questions/53516419/does-istio-support-hazelcast-kubernetes