hazelcast-kubernetes icon indicating copy to clipboard operation
hazelcast-kubernetes copied to clipboard

Hazelcast Cluster Client registration does not work when Istio's global.outboundTrafficPolicy.mode is set to REGISTRY_ONLY

Open safvankothawala opened this issue 6 years ago • 1 comments

I am using Istio version 1.2. In order to enable egress in Istio, I have set value of "global.outboundTrafficPolicy.mode" to REGISTRY_ONLY. Post this policy change, my Hazelcast clients are unable to connect to the Hazelcast cluster. I am getting IOException: Broken Pipe error. However, the Members are able to connect in a cluster.

Following is the snippet of hazelcast-client.xml

<network>
		<discovery-strategies>
			<discovery-strategy enabled="true"
				class="com.hazelcast.kubernetes.HazelcastKubernetesDiscoveryStrategy">
				<properties>
					<!-- configure discovery service API lookup -->
					<property name="service-name">hazelcast</property>
					<property name="namespace">default</property>
				</properties>
			</discovery-strategy>
		</discovery-strategies>
		<smart-routing>true</smart-routing>
		<redo-operation>true</redo-operation>
		<connection-timeout>90000</connection-timeout>
		<connection-attempt-period>100</connection-attempt-period>
		<connection-attempt-limit>0</connection-attempt-limit>
	</network>

Following is the snippet of hazelcast.xml

<join>
<kubernetes enabled="true">
        <namespace>default</namespace>
        <service-name>hazelcast</service-name>
</kubernetes>
</join>

It seems that clients are trying to connect to Hazelcast member using the Member Pod's IP address and hence they are not able to connect.

safvankothawala avatar Aug 09 '19 14:08 safvankothawala

Hi @safvankothawala , Can you reproduce it with this sample? https://github.com/hazelcast-guides/hazelcast-istio#hazelcast-client-server

mesutcelik avatar Mar 19 '20 13:03 mesutcelik