如何在 kubernetes 中从集群外部访问 pod?我将其作为节点端口服务公开,但无法使用该节点端口访问它

How to access pod from outside of my cluster in kubernetes? I exposed it as node port service but can't access it with that node port

我已经为我的 java 应用程序创建了一个 pod,并将其公开为 node-port 服务。
我只能使用 curl master address:nodeport 访问它在集群内部而不是从外部(比如我的浏览器)。
node-port 服务的目的是允许外部访问 pods 对吗?那为什么不能访问呢

kubernetes 版本 v1.13,
运行 在数字海洋云中。

预期输出: masteraddress:nodeport 应该在外部工作

kubectl describe svc <svc>

的输出

如果您确定一切正确并且运行,请检查端口是否被防火墙规则阻止并为外部流量打开它。

检查节点端口是否在主机上为您的应用程序提供服务:netstat -tunpl | grep "your node port" 以及本地地址为 0.0.0.0 或您机器的 IP.

然后使用 NodePort 将其更改为负载均衡器并直接通过负载均衡器 IP 地址访问它。或者 eles 你可以制作一个入口控制器,它会产生一个入口,你可以重定向并公开服务

同时使用入口和服务类型的负载均衡器,您可以在外部访问应用程序

只需尝试找到您的 pod 所在的工作节点的 IP 地址 运行。
master-address:nodeport 更改为 workernode-address:nodeport,它对我有用 :)

从您的输出看来,您的 pod 选择器不正确。您的输出应该类似于

节点端口:"selector label" 31605/TCP

你有"unset",所以这个节点端口没有连接到任何东西。

我有a nodeport example on my blog.