为什么 NodePort 服务的 NodePort 端口无法通过 netstat 查看?
为什么 NodePort 服务的 NodePort 端口无法通过 netstat 查看?
在 NodePort 类型的 Kubernetes Service 中,每当创建 Service 时,Kubernetes 会为该 Service 分配一个 NodePort。NodePort 服务会自动将该端口上的流量转发到 Service 中选定的 Pod。
但是,在节点上使用 netstat 命令仍然无法看到该 NodePort 端口。这是因为:
- NodePort 是 Kubernetes 内部使用的机制,它会创建 iptables 规则。这些规则会将 NodePort 端口上的流量转发到 Service 的 NodePort 端口。
- 实际的服务 Pod 可能会运行在不同的节点上,而 netstat 只会显示当前节点上的端口信息。
因此,使用 curl localhost:31002 可以成功访问 Service,但使用 netstat -tlp | grep 31002 无法看到端口信息,是因为此端口没有真正的进程在监听。它只是通过 iptables 规则转发流量的一种机制。
以上就是为什么 NodePort 服务的 NodePort 端口无法通过 netstat 查看?的详细内容,更多请关注硕下网其它相关文章!