为什么 NodePort Service 在 Node 上不显示在 netstat 中?
NodePort Service 在 Node 中不显示在 netstat 中的原因
使用 NodePort 类型的 Service,我们可以将服务暴露到集群外部。Service 定义了一个 nodePort,这是 Pod 可以从任何节点访问服务的端口。但是,这个问题指出,尽管 curl 可以访问 nodePort,但 netstat 却无法检测到它。
解答:iptables 转发
这是因为 NodePort 端口实际上并没有在 Node 上监听。相反,它通过 iptables 规则转发到实际的服务 Pod IP 地址和端口。
以下是 NodePort Service 工作方式的概述:
- 根据 NodePort 规则创建 iptables 规则,将流量重定向到 Pod IP/端口。
- 当请求来自外部时,iptables 规则将流量转发到 Pod。
- Pod 处理请求并返回响应。
由于没有进程直接在 nodePort 上监听,netstat 无法检测到它。相反,它只显示在 Pod 上监听的端口。
以上就是为什么 NodePort Service 在 Node 上不显示在 netstat 中?的详细内容,更多请关注硕下网其它相关文章!