登录
首页 >  Golang >  Go教程

为什么在节点上使用 netstat 命令无法看到 NodePort 服务的端口?

时间:2024-12-11 16:33:51 368浏览 收藏

目前golang学习网上已经有很多关于Golang的文章了,自己在初次阅读这些文章中,也见识到了很多学习思路;那么本文《为什么在节点上使用 netstat 命令无法看到 NodePort 服务的端口?》,也希望能帮助到大家,如果阅读完后真的对你学习Golang有帮助,欢迎动动手指,评论留言并分享~

为什么在节点上使用 netstat 命令无法看到 NodePort 服务的端口?

NodePort服务类型在节点上netstat看不到nodePort端口的原因

NodePort类型的服务在节点上使用iptables规则将流量转发到匹配的服务pod上。因此,虽然可以使用curl从本地主机访问nodePort端口,但netstat不会显示任何监听该端口的进程。

在NodePort服务中,nodePort指定了服务在节点上的端口。当请求到达nodePort端口时,iptables规则会将流量转发到具有匹配标签的pod的实际端口。这种转发通过在pod节点上创建一条iptables规则来实现。

在给定示例中,NodePort服务"tomcat-service"配置了nodePort 31002,用于转发到节点上具有标签"tier: frontend"的pod的端口8080。当请求到达节点上的端口31002时,iptables规则会将流量转发到pod的端口8080。

因为nodePort端口没有实际的进程在此端口上监听,所以netstat命令无法检测到它。它只会显示正在监听的端口,这些端口通常与实际进程关联。

以上就是《为什么在节点上使用 netstat 命令无法看到 NodePort 服务的端口?》的详细内容,更多关于的资料请关注golang学习网公众号!

相关阅读
更多>
最新阅读
更多>
课程推荐
更多>