netstat将外部端口显示为kubernetes:port。这是什么意思?

netstat将外部端口显示为kubernetes:port。这是什么意思?,kubernetes,tcp,minikube,netstat,Kubernetes,Tcp,Minikube,Netstat,我使用的是Windows 10 Pro计算机 当我运行netstat时,它将kubernetes:port显示为活动连接中的外部地址 这是什么意思?我已经检查过了,我的机器上没有运行kubernetes群集 如何关闭这些连接 Minikube状态: $ minikube status host: kubelet: apiserver: kubectl: 好的,看起来您的minikube实例肯定被删除了。请记住,在Linux或其他基于nix的系统中许多进程使用网络套接字相互通信是完全正常的,例

我使用的是Windows 10 Pro计算机

当我运行
netstat
时,它将
kubernetes:port
显示为活动连接中的外部地址

这是什么意思?我已经检查过了,我的机器上没有运行kubernetes群集

如何关闭这些连接

Minikube状态:

$ minikube status
host:
kubelet:
apiserver:
kubectl:

好的,看起来您的
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-4a
)。
/etc/hosts
中的
kubernetes
条目很可能映射到其中一个

如果能澄清你的疑问,请告诉我


编辑: 我已经在我的linux实例上的Minikube上复制了它,并注意到了完全相同的行为,但是看起来只有在成功地停止Minikube后才能显示已建立的连接。在
minikube删除之后
它们就消失了。看起来这些连接确实属于kubernetes的各个组件,但由于某些原因没有终止。基本上,关闭已建立的网络连接是创建它们的应用程序的责任,看起来出于某种原因minikube并没有终止它们

如果您运行:

sudo netstat -ntp ### important: it must be run as superuser
它还显示
PID/Program name
列,在该列中,您可以看到通过哪个程序建立了特定的连接。您将看到许多
已建立的
网络连接属于
etcd
kube-apiserver

首先,我尝试重新启动整个实例。很明显,它关闭了所有连接,但是我验证了几次,它看起来成功执行了
minikube delete
也关闭了所有连接

此外,您可能希望通过运行以下命令来检查可用的docker容器:

docker ps
或:

在停止minikube实例后,它仍然显示这些容器,这似乎是
netstat
命令仍然显示与某些kubernetes组件**的大量连接的原因


但是,在
minikube delete
之后,无论是
容器还是
已建立的
kubernetes集群的连接都不再可用。

这是由于
netstat
呈现输出的方式造成的。这与真正的库伯内特无关

我有Docker Desktop for Windows,它将此添加到主机文件:

# 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
呈现其输出时,它解析外部地址并查看hosts文件并查看此记录。它说的是
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

因此,实际发生的情况是,存在从localhost到localhost的连接(
netstat-b
将显示创建这些连接的应用程序)。与Kubernetes无关。

看来Windows docker更改了您的
主机
文件。 因此,如果您想摆脱这些连接,只需在
hosts
文件中注释掉相应的行即可

Windows 10上的
hosts
文件位于
C:\Windows\System32\drivers\etc
和 这些记录可能类似于
127.0.0.1 kubernetes.docker.internal

我很确定这会破坏你在Windows上的docker服务(不过,我不是专家),所以当你需要恢复docker服务时,别忘了取消这些行的注释。

我可以知道你为什么添加了
minikube
标签并说你的机器上没有kubernetes群集吗?我安装了minikube来运行kubernetes,然后我用它停止了minikube和k8s集群。这就是我提到的原因。
minikube status
命令的输出是什么?我用minikube status编辑了这个问题。好的,我检查一下。我使用的是windows 10 pro而不是linux。是的,我知道,但如果您使用的是
minikube
docker desktop
,它基本上使用某种虚拟化,并在linux操作系统上运行docker容器。好的,那么您可以在
windows命令行
powershell
中运行
netstat
,是吗?请看我上次的编辑。谢谢你的详细解释。我检查了主机文件并删除了kubernetes引用,现在没有kube作为外部主机。它无法删除实例或/和端口。他们现在自称cbs:XXXXXX。我猜他们是和多克一起来的。奇怪的是,当firefox被打开时,会出现更多这样的实例。这里有点可疑。
  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