Kubernetes 节点端口在主机上侦听时不可见,但服务正在运行

the*_*ter 8 kubernetes kubernetes-networking

我有一个在 kubernetes 上运行的服务,通过 nodeport 公开,如下所示:

test-service                        NodePort    100.100.246.5     <none>        30005:30005/TCP
Run Code Online (Sandbox Code Playgroud)

该服务可从其他节点访问并且工作正常;但是,如果我执行netstat -tunlp | grep 30005.

我有External Traffic Policy: Local,如果我理解正确的话,这应该意味着带有 pod 的节点应该监听所述端口?同样,一切正常,但我试图找出为什么我看不到主机上侦听的端口。

ITC*_*hap 11

Kubernetes 服务不是作为监听特定端口的进程来实现的。相反,使用 iptables(或 IPVS),服务基本上是 iptables 规则。这就是为什么它们不会出现在您的 netstat 中。您可以在这里找到更多相关信息。