暴露Kubernetes中的Neo4j簇
我正试图在Kubernetes部署Neo4j。我遵循Github,在Google Kubernetes引擎中部署了集群,它按照预期工作,也就是说,集群复制追随者中的写操作,并在出现故障(删除pod)时进行跟踪 我接下来要做的是将这个集群公开给从它外部访问的用户 我面临的挑战是,为了连接到远程因果集群,我需要使用暴露Kubernetes中的Neo4j簇,neo4j,kubernetes,google-kubernetes-engine,Neo4j,Kubernetes,Google Kubernetes Engine,我正试图在Kubernetes部署Neo4j。我遵循Github,在Google Kubernetes引擎中部署了集群,它按照预期工作,也就是说,集群复制追随者中的写操作,并在出现故障(删除pod)时进行跟踪 我接下来要做的是将这个集群公开给从它外部访问的用户 我面临的挑战是,为了连接到远程因果集群,我需要使用bolt+routingURI拥有任何CORE服务器的静态名称/IP地址,以便驱动程序可以相应地路由请求(读、写等) 如图所示,显示为ClusterIP模式,因此只能从集群内访问。我尝试将
bolt+routing
URI拥有任何CORE
服务器的静态名称/IP地址,以便驱动程序可以相应地路由请求(读、写等)
如图所示,显示为ClusterIP
模式,因此只能从集群内访问。我尝试将其更改为NodePort
和LoadBalancer
模式,在这些情况下,CORE
Neo4j集群成员无法找到彼此
如何保持所需端口(Raft、事务等)的内部通信,并公开
7687
(以及浏览器可能的7474
)进行外部通信?对于Kubernetes中的同一部署,您可以使用多个服务
- 拥有
ClusterIP
服务,这样节点可以继续与每个oter通信
- 拥有
LoadBalancer
服务,以便将公共端口公开给Internet
如果你想进一步限制内部沟通,你应该看看Kubernetes的网络政策(但我怀疑这是你需要的)。关于这方面的一些资源: