主机访问

如何从 Pod 访问主机资源

先决条件

运行在主机上的服务必须绑定到所有 IP (0.0.0.0) 和接口,或者绑定到您的虚拟机桥接所使用的 IP 和接口。如果服务只绑定到 localhost (127.0.0.1),则无法工作。

host.minikube.internal

为了方便访问您的主机,minikube v1.10 在 /etc/hosts 中添加了一个主机名条目 host.minikube.internalhost.minikube.internal 解析到的 IP 在不同驱动之间可能不同,在不同集群之间也可能不同。

验证连接

您可以使用 minikube ssh 来确认连接

                         _             _
            _         _ ( )           ( )
  ___ ___  (_)  ___  (_)| |/')  _   _ | |_      __  
/' _ ` _ `\| |/' _ `\| || , <  ( ) ( )| '_`\  /'__`\
| ( ) ( ) || || ( ) || || |\`\ | (_) || |_) )(  ___/
(_) (_) (_)(_)(_) (_)(_)(_) (_)`\___/'(_,__/'`\____)

$ ping host.minikube.internal
PING host.minikube.internal (192.168.64.1): 56 data bytes
64 bytes from 192.168.64.1: seq=0 ttl=64 time=0.225 ms

要测试与主机上正在侦听的特定 TCP 服务的连接,请使用 nc -vz host.minikube.internal <port>

$ nc -vz host.minikube.internal 8000
Connection to host.minikube.internal 8000 port [tcp/*] succeeded!

以下是不同消息的解释方式

  • Connection succeeded:您已连接成功!
  • Connection refused:服务未在该端口上侦听,至少不是在所有接口上侦听