在Kubernetes中展示Neo4j集群

时间:2017-12-20 11:20:16

标签: neo4j kubernetes google-kubernetes-engine

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

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

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

如此处所示,service已显示为bolt+routing模式,因此只能从群集中进行访问。{p}}我试图将其更改为ClusterIPNodePort模式,在这些情况下,LoadBalancer Neo4j群集成员无法找到彼此。

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

1 个答案:

答案 0 :(得分:2)

对于Kubernetes中的相同部署,您可以拥有多个Service

  • 拥有ClusterIP服务,因此节点可以继续与每个oter进行通信。
  • 拥有LoadBalancer服务,因此您可以将公共端口公开到Internet。

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