Ubuntu 访问同一网络上的minikube群集

Ubuntu 访问同一网络上的minikube群集,ubuntu,kubernetes,networking,ip,minikube,Ubuntu,Kubernetes,Networking,Ip,Minikube,我在虚拟机中设置了一个用于开发的minikube集群。 我已经部署了一些服务和入口控制器(minikube控制器),以便能够在不使用节点报告的情况下访问它。 在我的虚拟机中,我可以像往常一样使用curl访问我的服务http://hello-world.info或另一个。一切正常 但当我在虚拟机之外时,即使我在同一个网络上,我也无法访问它。我尝试了从主机服务器、笔记本电脑和外部使用VPN。 群集IP在VM内的“我的地址”中列出得很好(IP a),但在VM外无法访问(例如:ping xxx)。 如何

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

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

我的虚拟机的IP设置为静态(
ubuntu服务器20.XX.XX
),netplan位于
192.168.1.128
,我的集群IP设置为
192.168.49.2
。我的DHCP服务器只允许在
192.168.1.101-254之间分发IP


谢谢:)。

就我个人而言,我还没有找到在
局域网上公开
minikube
实例的方法

作为在
LAN
上公开您的
minikube
实例的解决方法,您可以选择
--驱动程序

  • --driver=virtualbox
  • --driver=none
<>具体地说,将您的KubNeNETs集群暴露为<代码> LAN/COD>,我也会考虑检查其他KubNeNETs解决方案(比如,您可以在裸金属上运行它们,或者在VBox VM中运行它们,使用<代码>桥接< /代码>网络:


--driver=virtualbox
: 前一段时间我引用了自己的部分答案:

如前所述:当您使用Virtualbox创建
minikube
实例时,您将创建以下网络接口:

  • NAT
    -允许VM访问Internet的接口。此连接不能用于公开您的服务
  • 仅限主机的网络适配器
    -由您的主机创建的接口,允许在接口内通信。这意味着您的主机和使用此特定适配器的其他vm可以相互连接。它是为内部使用而设计的
您可以在此处阅读有关Virtualbox网络的更多信息:

我已经设法找到了一个解决办法来允许在笔记本电脑/pc外部连接到
minikube
实例。您需要将
minikube
实例设置中的网络接口从
仅主机网络适配器
更改为
桥接适配器
(第二个适配器)。这将在另一个设备连接到您的物理网络时工作。请确保此桥接适配器与以太网NIC一起使用。
Minikube
应更改IP地址以匹配物理网络中使用的IP地址

您还需要更改
.kube/config
,因为它的IP地址旧/错误

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

--


--driver=none
您也可以使用
--driver=none
运行
minikube
,但此方法有一些注意事项,您可以通过以下文档了解更多内容(您直接在主机上运行
minikube
):


额外资源:


虚拟机如何连接到外部世界?它是否使用NAT?它是否桥接到真正的适配器?不知道这是否回答了您的问题,但虚拟机使用的是网桥(br0)使用virtio net驱动程序。@DataHearth您好,您能告诉我minikube使用的是哪个
--driver
吗?我是否正确地假设这是一个
virtualbox
驱动程序?@DawidKruk我使用的是docker驱动程序:)。经过一些研究,virtualbox驱动程序对我来说似乎没有那么严格。因此我可能会尝试一下。根据我自己的经验,将
minikube
暴露到您的
LAN
的最简单方法是使用
virtualbox
none
驱动程序。在
minikube
之外还有其他选择这应该更容易。这完全取决于您的需求。我已经回答了类似的问题,您是否有机会看到它们(特别是
--driver=none
的部分)?