0

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

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

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

输出为kubectl describe svc <svc>
在此处输入图像描述

4

5 回答 5

0

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

于 2019-02-08T06:01:33.147 回答
0

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

于 2019-02-07T09:25:20.937 回答
0

而不是使用 NodePort 将其更改为负载均衡器并直接通过负载均衡器 IP 地址访问它。或 eles 您可以制作入口控制器,该控制器将制作一个入口,您可以重定向和公开服务

以两种方式使用入口和服务类型负载均衡器,您可以访问外部应用程序

于 2019-02-07T09:29:29.187 回答
-1

如果您确定一切正确且正在运行,请检查端口是否被防火墙规则阻止并将其打开以供外部流量使用。

于 2019-02-07T09:17:04.333 回答
-1

从您的输出来看,您的 pod 选择器不正确。你的输出应该是这样的

节点端口:“选择器标签”31605/TCP

你有“未设置”,所以这个节点端口没有连接到任何东西。

我的博客上有一个 nodeport 示例

于 2019-02-08T17:59:57.063 回答