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

Shu*_*kar 15 netstat tcp kubernetes minikube

我正在使用 Windows 10 Pro 机器。

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

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

如何关闭这些连接?

在此处输入图片说明

Minikube 状态:

$ minikube status
host:
kubelet:
apiserver:
kubectl:
Run Code Online (Sandbox Code Playgroud)

小智 19

这是因为netstat呈现输出的方式。它与实际的 Kubernetes 无关。

我有适用于 Windows 的 Docker 桌面,并将其添加到主机文件中:

# 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
Run Code Online (Sandbox Code Playgroud)

有一个记录映射127.0.0.1kubernetes.docker.internal. 当netstat呈现其输出时,它解析外部地址并查看主机文件并查看此记录。它说kubernetes,这就是您在控制台中看到的内容。您可以尝试将其更改为

127.0.0.1 tomato.docker.internal
Run Code Online (Sandbox Code Playgroud)

有了这个,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
Run Code Online (Sandbox Code Playgroud)

所以实际发生的是从本地主机到本地主机的连接(netstat -b将显示创建它们的应用程序)。与 Kubernetes 无关。


Leo*_*nkv 9

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

Windows 10 上的文件hosts位于C:\Windows\System32\drivers\etc,记录可能类似于127.0.0.1 kubernetes.docker.internal。我非常确定它会破坏 Windows 上的 docker 服务(但是,我不是专家),因此每当您需要恢复 docker 服务时,请不要忘记取消注释这些行。