我为我的 java 应用程序创建了一个 pod,并将其公开为节点端口服务。
我curl master address:nodeport
只能在集群内部而不是从外部(比如我的浏览器)访问它。
节点端口服务的目的是允许外部访问 pod 对吗?那为什么不能访问它。
kubernetes v1.13版本,
运行在数字海洋云中。
预期输出: masteraddress:nodeport 应该在外部工作
我为我的 java 应用程序创建了一个 pod,并将其公开为节点端口服务。
我curl master address:nodeport
只能在集群内部而不是从外部(比如我的浏览器)访问它。
节点端口服务的目的是允许外部访问 pod 对吗?那为什么不能访问它。
kubernetes v1.13版本,
运行在数字海洋云中。
预期输出: masteraddress:nodeport 应该在外部工作
只需尝试找到运行 pod 的工作程序节点的 IP 地址。
更改master-address:nodeport
为workernode-address:nodeport
,它对我有用:)
检查节点端口是否在主机上为您的应用程序提供服务:netstat -tunpl | grep "your node port"
以及本地地址为0.0.0.0
或您的机器的IP
.
而不是使用 NodePort 将其更改为负载均衡器并直接通过负载均衡器 IP 地址访问它。或 eles 您可以制作入口控制器,该控制器将制作一个入口,您可以重定向和公开服务
以两种方式使用入口和服务类型负载均衡器,您可以访问外部应用程序
如果您确定一切正确且正在运行,请检查端口是否被防火墙规则阻止并将其打开以供外部流量使用。
从您的输出来看,您的 pod 选择器不正确。你的输出应该是这样的
节点端口:“选择器标签”31605/TCP
你有“未设置”,所以这个节点端口没有连接到任何东西。
我的博客上有一个 nodeport 示例。