好的,看起来您的 minikube 实例肯定已被删除。请记住,在 Linux 或其他 基于 nix 的系统中,许多进程使用网络套接字相互通信是完全正常的,例如您将看到许多已建立的连接,本地和外部地址都设置为 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 在您的情况下只不过是您的一台机器/VM/实例的hostname。也许您在其上运行minikube 的那个名称称为kubernetes,这就是为什么此主机名当前出现在您的活动网络连接中的原因。基本上它与运行 kubernetes 集群无关。
为了更清楚,您可以cat/etc/hosts 文件的内容并查找条目kubernetes。然后您可以将它们与您的网络接口地址进行比较(运行ip -4 a)。很可能/etc/hosts 中的kubernetes 条目映射到其中之一。
如果它澄清了你的疑问,请告诉我。
编辑:
我在我的 linux 实例上的 Minikube 上复制了它,并注意到完全相同的行为,但看起来 ESTABLISHED 连接仅在成功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 实例后,它仍然显示这些容器,这似乎是netstat 命令仍然显示与某些 kubernetes 组件** 的大量连接的原因。
但是在minikube delete 之后,containers 和 ESTABLISHED 与 kubernetes 集群 组件的连接都不再可用。