Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
击中HeadlessService的端点-Kubernetes_Service_Kubernetes_Headless_Akka Cluster - Fatal编程技术网

击中HeadlessService的端点-Kubernetes

击中HeadlessService的端点-Kubernetes,service,kubernetes,headless,akka-cluster,Service,Kubernetes,Headless,Akka Cluster,我们希望将podname解析为IP,以便在akka集群中配置种子节点。这是通过在Kubernetes中使用无头服务和有状态集的概念实现的。但是,如何在外部公开无头服务以从外部命中端点?很难将Kubernetes服务公开给外部,因为这需要一些复杂的TCP代理。原因是,headless服务只是一个DNS记录,每个pod都有一个IP。但是这些IP只能从集群内访问 一种解决方案是通过节点端口公开该端口,这意味着端口在主机本身上打开。不幸的是,这使得服务发现更加困难,因为您不知道哪个主机上有一个预定的po

我们希望将podname解析为IP,以便在akka集群中配置种子节点。这是通过在Kubernetes中使用无头服务和有状态集的概念实现的。但是,如何在外部公开无头服务以从外部命中端点?

很难将Kubernetes服务公开给外部,因为这需要一些复杂的TCP代理。原因是,headless服务只是一个DNS记录,每个pod都有一个IP。但是这些IP只能从集群内访问

一种解决方案是通过节点端口公开该端口,这意味着端口在主机本身上打开。不幸的是,这使得服务发现更加困难,因为您不知道哪个主机上有一个预定的pod

您可以通过以下方式设置节点端口:

  • 服务:
  • 或者直接在Pod中定义
另一种选择是使用,如果您的云提供商支持的话。不幸的是,您无法寻址每个实例本身,因为它们共享相同的IP。这可能不适合您的应用程序