为什么 NodePort Service 在 Node 上不显示在 netstat 中?

为什么 nodeport service 在 node 上不显示在 netstat 中?

NodePort Service 在 Node 中不显示在 netstat 中的原因

使用 NodePort 类型的 Service,我们可以将服务暴露到集群外部。Service 定义了一个 nodePort,这是 Pod 可以从任何节点访问服务的端口。但是,这个问题指出,尽管 curl 可以访问 nodePort,但 netstat 却无法检测到它。

解答:iptables 转发

这是因为 NodePort 端口实际上并没有在 Node 上监听。相反,它通过 iptables 规则转发到实际的服务 Pod IP 地址和端口。

以下是 NodePort Service 工作方式的概述:

  1. 根据 NodePort 规则创建 iptables 规则,将流量重定向到 Pod IP/端口。
  2. 当请求来自外部时,iptables 规则将流量转发到 Pod。
  3. Pod 处理请求并返回响应。

由于没有进程直接在 nodePort 上监听,netstat 无法检测到它。相反,它只显示在 Pod 上监听的端口。

以上就是为什么 NodePort Service 在 Node 上不显示在 netstat 中?的详细内容,更多请关注硕下网其它相关文章!