在Kubernetes中展示Neo4j集群

问题描述 投票:1回答:1

我正在尝试在Kubernetes部署一个Neo4j causal cluster。我在Github上关注了this guide,并在Google Kubernetes Engine中部署了集群,它按预期工作,即集群在关注者中复制写入,并在发生故障时赶上(删除pod)。

我接下来要做的是将此群集公开以从其外部访问。

我面临的挑战是,为了连接到远程因果集群,我需要使用CORE URI获得任何bolt+routing服务器的静态名称/ IP地址,以便驱动程序可以相应地路由请求(读,写等)。

如图所示,service暴露为ClusterIP模式,因此只能从群集中访问。我试图将它改为NodePortLoadBalancer模式,在这些情况下,CORE Neo4j集群成员找不到对方。

如何保持所需端口(Raft,Transactions等)的内部通信并公开7687(以及可能用于浏览器的7474)以进行外部通信?

neo4j kubernetes google-kubernetes-engine
1个回答
2
投票

您可以在Kubernetes中使用多个Services进行相同的部署。

  • 有一个ClusterIP服务,所以节点可以继续相互通信。
  • 拥有LoadBalancer服务,因此您可以将公共端口暴露给Internet。

如果您希望进一步限制内部通信,您应该查看Kubernetes网络策略(但我怀疑这是您需要的)。一些资源:

© www.soinside.com 2019 - 2024. All rights reserved.