公开kubernetes上我的传出ip地址可以访问的特定端口
我正在尝试运行一个p2p客户端(IOTA),它要求我连接的节点能够连接回与我发出请求的ip地址相同的特定端口 NodePort无法工作,因为它公开为不同的端口,而不是我想要的端口。 负载平衡器无法工作,因为其他节点不知道我的负载平衡器ip地址公开kubernetes上我的传出ip地址可以访问的特定端口,kubernetes,Kubernetes,我正在尝试运行一个p2p客户端(IOTA),它要求我连接的节点能够连接回与我发出请求的ip地址相同的特定端口 NodePort无法工作,因为它公开为不同的端口,而不是我想要的端口。 负载平衡器无法工作,因为其他节点不知道我的负载平衡器ip地址 人们如何才能在kubernetes上使用比特币或物联网之类的p2p客户端?因为每个pod都有一个动态IP地址,通常还有一个动态名称(例如,如果您使用部署),您没有机会以某种方式使其“端点”保持静态,但您有另一种方法-使用 您可以使用StatefulSet部
人们如何才能在kubernetes上使用比特币或物联网之类的p2p客户端?因为每个pod都有一个动态IP地址,通常还有一个动态名称(例如,如果您使用
部署
),您没有机会以某种方式使其“端点”保持静态,但您有另一种方法-使用
您可以使用StatefulSet
部署应用程序的多个副本,并为其创建Headless服务。StatefulSet
中的每个副本都将使用其唯一的名称可用
以下是文档中的引用:
StatefulSet
中的每个Pod
都从StatefulSet
的名称和Pod的序号派生其主机名。构造的主机名的模式是$(statefulset name)-(序数)
。上面的示例将创建三个pod,分别命名为web-0
、web-1
、web-2
。StatefulSet
可以使用无头服务
来控制其pod
的域。此服务管理的域的形式为:$(服务名称)。$(命名空间).svc.cluster.local
,其中“cluster.local”是群集域。创建每个Pod
时,它将获得一个匹配的DNS子域,其形式为:$(podname)。$(管理服务域)
,其中管理服务由状态集
上的serviceName
字段定义
我对你的要求感到困惑。您正在尝试在两个节点或节点与外部机器之间建立p2p吗?如果是后者,您肯定可以使用loadbalancer映射端口。可能是Im混淆。两个节点之间的p2p(群集中的我的节点和群集中之外的其他节点)。我连接到的节点希望能够在发出请求的同一ip上以及在特定端口上重新连接。如果我使用负载平衡器,我的请求ip和预期的传入ip将不同。