Skip to content

Commit 9fb3ba0

Browse files
Doc 404 - doc client connectivity issue with NodePort Access on OpenShift (#1584)
Document the client connectivity issue (which is not restricted to NodePort Access on OpenShift) With this being an edge case, include it in the Troubleshooting & Limitations topic, and link to it from the K8s auto-discovery topic. --------- Co-authored-by: Rob Swain <rob.swain@hazelcast.com>
1 parent 1d87a92 commit 9fb3ba0

File tree

2 files changed

+27
-0
lines changed

2 files changed

+27
-0
lines changed

docs/modules/kubernetes/pages/kubernetes-auto-discovery.adoc

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,8 @@ Limited to **Hazelcast cluster per service**
2626

2727
|===
2828

29+
NOTE: Clients attempting to connect to a Hazelcast cluster deployed using the Helm chart may encounter connectivity issues when accessing the cluster outside Kubernetes. For information about how to resolve this, see xref:kubernetes:troubleshooting-and-limitations.adoc#troubleshooting-kubernetes-auto-discovery[Troubleshooting and limitations].
30+
2931
=== Using Kubernetes in API Mode
3032

3133
In **Kubernetes API** mode, each node makes a REST call to the Kubernetes master to discover the IP addresses of any Hazelcast members running in Pods.

docs/modules/kubernetes/pages/troubleshooting-and-limitations.adoc

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -165,3 +165,28 @@ In that case, you also need to turn off JET engine via chart parameter(`jet.enab
165165
----
166166
helm install my-release ... --set jet.enabled=false hazelcast/<chart>
167167
----
168+
169+
== Troubleshooting Kubernetes Auto Discovery
170+
171+
=== Client connectivity issue
172+
173+
Clients attempting to connect to a Hazelcast cluster deployed using the Helm chart may encounter connectivity issues when accessing the cluster outside Kubernetes. Specifically, clients operating in smart/ALL_MEMBERS mode fetch internal pod IPs, which are inaccessible externally, leading to connection failures after the initial handshake.
174+
175+
This issue arises due to Hazelcast's default behavior of using Kubernetes DNS mode when Role-Based Access Control (RBAC) permissions are not configured.
176+
177+
You can resolve this problem by enabling the required RBAC permissions in the Helm chart. This allows the Hazelcast Kubernetes discovery plugin to retrieve external node addresses:
178+
179+
[source,shell]
180+
----
181+
rbac:
182+
create: true
183+
userClusterRole: true
184+
----
185+
186+
Alternatively, apply the required ClusterRole and ClusterRoleBinding for the Hazelcast ServiceAccount and use this service account in the Helm chart:
187+
188+
[source,shell]
189+
----
190+
serviceAccount:
191+
name: hazelcast-service-account
192+
----

0 commit comments

Comments
 (0)