如何在 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",所以这个节点端口没有连接到任何东西。
我已经为我的 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",所以这个节点端口没有连接到任何东西。