Kubernetes 在没有主机网络的情况下,如何公开守护程序集中的每个Pod

Kubernetes 在没有主机网络的情况下,如何公开守护程序集中的每个Pod,kubernetes,Kubernetes,如何在没有主机网络的情况下转到守护程序集中的特定Pod?原因是我在守护程序集中的pod是有状态的,我希望每个节点上最多有一个worker(这就是我使用守护程序的原因) 我最初的实现是使用hostNetwork,这样外部客户机就可以通过节点IP找到工作吊舱。但在许多生产环境中,主机网络是禁用的,所以我们必须为守护程序的每个Pod创建一个节点端口服务。这是不灵活的,显然从长远来看是行不通的 更多关于我的应用程序是如何有状态的背景信息 该应用程序在HDFS模式下工作,工作节点(datanodes)使用

如何在没有主机网络的情况下转到守护程序集中的特定Pod?原因是我在守护程序集中的pod是有状态的,我希望每个节点上最多有一个worker(这就是我使用守护程序的原因)

我最初的实现是使用hostNetwork,这样外部客户机就可以通过节点IP找到工作吊舱。但在许多生产环境中,主机网络是禁用的,所以我们必须为守护程序的每个Pod创建一个节点端口服务。这是不灵活的,显然从长远来看是行不通的

更多关于我的应用程序是如何有状态的背景信息


该应用程序在HDFS模式下工作,工作节点(datanodes)使用主机名向主节点(namenodes)注册。主机和外部客户端需要转到一个特定的工作进程以获得它所承载的内容。

hostNetwork
是一个可选设置,不是必需的。您可以在不指定的情况下连接到播客。 要与守护程序集中的pod通信,可以在守护程序的pod规范中指定
hostPort
,以在节点上公开它。然后,您可以使用它运行的节点的IP直接与它通信

连接到有状态应用程序的另一种方法是。它允许您指定网络标识符。然而,它需要POD的网络标识,您负责创建此类服务