netstat
渲染输出的方式,导致出现这种情况,与Kubernetes实际无关。# Added by Docker Desktop
192.168.43.196 host.docker.internal
192.168.43.196 gateway.docker.internal
# To allow the same kube context to work on the host and the container:
127.0.0.1 kubernetes.docker.internal
# End of section
有一条记录将127.0.0.1
映射到kubernetes.docker.internal
。当netstat
呈现其输出时,它会解析外部地址,并查看主机文件并查看此记录。它显示kubernetes
,这就是你在控制台上看到的内容。您可以尝试更改它为
127.0.0.1 tomato.docker.internal
通过这样,netstat
会打印:
Proto Local Address Foreign Address State
TCP 127.0.0.1:6940 tomato:6941 ESTABLISHED
TCP 127.0.0.1:6941 tomato:6940 ESTABLISHED
TCP 127.0.0.1:8080 tomato:40347 ESTABLISHED
TCP 127.0.0.1:8080 tomato:40348 ESTABLISHED
TCP 127.0.0.1:8080 tomato:40349 ESTABLISHED
实际上发生的是本地主机之间建立了连接(netstat -b
将显示创建它们的应用程序),与Kubernetes无关。
127.0.0.1 localhost
,然后本地连接再次被系统正确识别。 - Travis Britz好的,看起来你的minikube
实例已经被删除。请记住,在Linux或其他nix-based系统中,许多进程使用网络套接字来彼此通信,例如您将看到许多已建立的连接,其中本地和外部地址均设置为localhost:
tcp 0 0 localhost:45402 localhost:2379 ESTABLISHED
tcp 0 0 localhost:45324 localhost:2379 ESTABLISHED
tcp 0 0 localhost:2379 localhost:45300 ESTABLISHED
tcp 0 0 localhost:45414 localhost:2379 ESTABLISHED
tcp 0 0 localhost:2379 localhost:45388 ESTABLISHED
tcp 0 0 localhost:40600 localhost:8443 ESTABLISHED
kubernetes
只是你一台机器/虚拟机/实例的 hostname
。也许你运行了 minikube
并将其称为 kubernetes
,因此此主机名出现在你当前的活动网络连接中。基本上,它与运行kubernetes 集群无关。/etc/hosts
文件的内容并查找条目 kubernetes
,然后将它们与你的网络接口地址进行比较(运行 ip -4 a
)。很可能 /etc/hosts
中的 kubernetes
条目映射到其中的一个地址上。我在我的Linux实例上使用Minikube复现了它,并注意到完全相同的行为,但看起来只有在成功执行minikube stop
后才显示已建立的连接。在执行minikube delete
后,它们会消失。看起来这些连接确实属于Kubernetes的各个组件,但由于某种原因未被终止。基本上,关闭已建立的网络连接是创建它们的应用程序的职责,而看起来minikube由于某种原因没有终止它们。
如果你运行:
sudo netstat -ntp ### important: it must be run as superuser
它另外显示了一个 PID/Program name
列,您可以在其中查看特定连接是通过哪个程序建立的。您会看到许多属于 etcd
和 kube-apiserver
的 ESTABLISHED
网络连接。
首先,我尝试重新启动整个实例。它显然会关闭所有连接,但然后我验证了几次,看起来成功执行 minikube delete
也会关闭所有连接。
此外,您可能希望通过运行以下命令来检查可用的 Docker 容器:
docker ps
或者:
docker container ls
minikube
或 docker desktop
,它基本上使用某种虚拟化技术,在 Linux 操作系统之上运行你的 Docker 容器。 - marioWindows命令行
或PowerShell
中运行netstat
,对吧? - mario
minikube
标签并表示您的机器上没有 Kubernetes 集群? - Vitminikube status
命令的输出是什么? - mario