You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

NodePort暴露K8s Hazelcast集群时Smart Client连接失败

问题根因

连接失败的核心原因是use_public_ip参数需要配合Hazelcast节点侧的公网地址配置才能生效,你当前手动部署的集群没有配置节点对外宣告的访问地址:

  • 客户端通过第一个NodePort连接到节点后,拿到的成员列表是K8s集群内网的Pod IP(10.244.1.41、10.244.1.42),这类地址对集群外的客户端不可路由
  • 开启smart_routing后客户端会尝试直连所有集群成员,访问不可达的内网Pod IP时自然会触发连接超时、TargetDisconnectedError
  • 你配置的use_public_ip=True未实际生效,因为Hazelcast节点本身不知道自己对应的NodePort映射关系,无法向客户端返回可直达的公网地址
解决方案

方案1:快速验证场景(关闭智能路由)

如果仅做功能测试,不需要智能路由的直连性能优势,直接关闭智能路由即可。此时客户端所有请求都会走你初始配置的NodePort地址,不会尝试直连内网Pod,不会触发连接超时。
修改后的客户端配置:

hz_client = hz.HazelcastClient(
    cluster_name="dev",
    cluster_members=["10.xx.xx.xx:31001", "10.xx.xx.xx:31002"],
    use_public_ip=True,
    smart_routing=False,
    client_name='hz.client_0',
    lifecycle_listeners=[
        lambda state: print("Lifecycle event >>>", state),
    ],
)

方案2:生产场景(保留智能路由能力)

如果需要使用智能路由的低延迟直连能力,必须让Hazelcast节点向客户端宣告自身对应的、客户端可直达的NodePort地址,分两步调整:

  1. 重新部署Hazelcast节点,给每个Pod配置对应的公网访问地址环境变量:
HAZELCAST_VERSION=latest
# 先部署Hazelcast所需的K8s RBAC权限配置
# 启动第一个节点,配置对应可访问的IP和NodePort
kubectl run hz-hazelcast-0 --image=hazelcast/hazelcast:$HAZELCAST_VERSION --port=5701 -l "app=hz-hazelcast-0,role=hazelcast" \
  --env="HAZELCAST_PUBLIC_ADDRESS=10.xx.xx.xx:31001"
kubectl create service nodeport hz-hazelcast-0 --tcp=5701:5701 --node-port=31001
# 启动第二个节点,配置对应可访问的IP和NodePort
kubectl run hz-hazelcast-1 --image=hazelcast/hazelcast:$HAZELCAST_VERSION --port=5701 -l "app=hz-hazelcast-1,role=hazelcast" \
  --env="HAZELCAST_PUBLIC_ADDRESS=10.xx.xx.xx:31002"
kubectl create service nodeport hz-hazelcast-1 --tcp=5701:5701 --node-port=31002
# 创建统一服务入口
kubectl create service nodeport hz-hazelcast --tcp=5701:5701 --node-port=31000 -o yaml --dry-run=client | kubectl set selector --local -f - "role=hazelcast" -o yaml | kubectl create -f -

注意:将上述命令中的10.xx.xx.xx替换为K8s节点实际的客户端可达IP,提前放通本地到该IP对应31001、31002端口的网络策略。

  1. 待两个Pod启动完成后,使用原有开启smart_routing=True的客户端代码连接即可。此时节点返回给客户端的成员列表为配置好的可直达NodePort地址,可正常建立直连。

内容的提问来源于stack exchange,提问作者GZ GK

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.03 07:09:27