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
的部分)?