在同一网络上访问 minikube 集群

access minikube cluster on the same network

我已经在 VM 中设置了一个 minikube 集群用于开发目的。
我已经部署了一些服务和一个入口控制器(minikube 控制器)以便能够在不使用 NodePorts 的情况下访问它。
在我的 VM 中,我可以像往常一样使用 curl http://hello-world.info 或其他服务访问我的服务。一切正常。

但是当我在我的虚拟机之外时,即使我在同一个网络上,我也无法访问它。我从我的托管服务器、我的笔记本电脑和外部使用 VPN 进行了尝试。
集群 IP 很好地列在我在 VM 内的地址中 (ip a),但在其外部无法访问(例如:ping xxx)。
如何在同一网络内的另一台机器上访问我的集群服务?

我的 VM 的 IP 设置为静态 (ubuntu-server 20.XX.XX),netplan 在 192.168.1.128,我的集群 IP 是 192.168.49.2。我的 DHCP 服务器只允许在 192.168.1.101-254.

之间分配 IP

谢谢 :).

就我个人而言,我还没有找到在 LAN 上使用 --driver=docker 公开 minikube 实例的方法。

作为在 LAN 上公开您的 minikube 实例的解决方法,您可以 --driver:

  • --driver=virtualbox
  • --driver=none

具体到将您的 Kubernetes 集群暴露给 LAN,我还会考虑检查其他 Kubernetes 解决方案,例如(您可以 运行 它们在裸机上或 运行 它们在具有 bridged 网络的 vbox 虚拟机中:


--driver=virtualbox:

引用自己前段时间的部分回答:

As I previously mentioned: When you create your minikube instance with Virtualbox you will create below network interfaces:

  • NAT- interface which will allow your VM to access the Internet. This connection cannot be used to expose your services
  • Host-only-network-adapter - interface created by your host which allows to communicate within the interface. It means that your host and other vm's with this particular adapter could connect with each other. It's designed for internal usage.

You can read more about Virtualbox networking here:

I've managed to find a workaround to allow connections outside your laptop/pc to your minikube instance. You will need to change network interface in settings of your minikube instance from Host-only-network-adapter to Bridged Adapter (2nd adapter). This will work as another device was connected to your physical network. Please make sure that this bridged adapter is used with Ethernet NIC. Minikube should change IP address to match the one used in your physical one.

You will also need to change your .kube/config as it will have the old/wrong IP address!

之后您应该能够通过物理网络中可访问的 IP 连接到您的 Ingress 资源。

--


--driver=none

您还可以 运行 minikube--driver=none 但此方法有一些注意事项,您可以通过阅读此文档了解更多信息(tl;dr 你是 运行直接在您的主机上安装您的 minikube):


其他资源: