我们希望将podnames解析为IP,以配置akka群集中的种子节点。这是通过在Kubernetes中使用无头服务和有状态集的概念来实现的。但是,如何从外部公开无头服务以从外部命中端点?
答案 0 :(得分:1)
很难将Kubernetes服务暴露给外部,因为这需要一些复杂的TCP代理。这样做的原因是,无头服务只是一个DNS记录,每个pod都有一个IP。但是这些IP只能从群集中访问。
一种解决方案是通过Node端口公开它,这意味着端口在主机上打开。不幸的是,这使得服务发现更难,因为您不知道哪个主机上有计划的pod。
您可以通过以下方式设置节点端口:
如果您的云提供商支持,则另一种方法是使用spec.containers[].ports[].hostPort
。遗憾的是,您无法解决每个实例本身,因为它们共享相同的IP。这可能不适合您的应用程序。