我正试图在Kubernetes部署一个Neo4j 因果聚类。我已经在Github上跟踪了本指南,并在Google引擎中部署了集群,它按预期工作,即集群复制在关注者中写入,并在出现故障时赶上(删除pods)。
接下来我要做的是将这个集群公开给外部访问。
我面临的挑战是,为了连接到远程因果集群,我需要使用CORE URI拥有任何bolt+routing服务器的静态名称/IP地址,以便驱动程序能够相应地路由请求(读、写等)。
如这里所示,服务是以ClusterIP模式公开的,因此它只能从集群中访问。我尝试将其更改为NodePort和LoadBalancer模式,在这些情况下,CORE Neo4j集群成员无法找到彼此。
如何保持所需端口(Raft、事务等)的内部通信?并公开用于外部通信的7687 (可能还有用于浏览器的7474 )?
发布于 2018-01-02 20:26:13
您可以在Kubernetes中为相同的部署拥有多个Service。
ClusterIP服务,这样节点就可以继续与每个节点通信。LoadBalancer服务,这样您就可以向互联网公开公共端口。如果您想进一步限制内部通信,您应该考虑Kubernetes网络策略(但我怀疑这是您所需要的)。关于这方面的一些资源:
https://stackoverflow.com/questions/47904841
复制相似问题