我已经在虚拟机中设置了一个用于开发目的的minikube
集群
我部署了一些服务和一个入口控制器(minikube控制器(,以便能够在不使用NodePorts的情况下访问它
在我的虚拟机中,我可以像往常一样使用curl http://hello-world.info
或其他服务访问我的服务。一切都很好。
但是当我在虚拟机之外时,即使在同一个网络上,我也无法访问它。我从我的托管服务器、笔记本电脑和外部VPN进行了尝试
集群IP在VM内部的地址中列出得很好(ip a
(,但在VM外部无法访问(例如:ping xxx
(
如何在同一网络内的另一台计算机上访问群集服务?
我的VM的IP设置为静态(ubuntu-server 20.XX.XX
(,网络计划为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
,我还考虑查看其他Kubernete解决方案,如(您可以在裸机上运行它们,也可以在带有bridged
网络的vboxvm中运行它们:
- kubeadm
- kubespray
- microK8
--driver=virtualbox
:
引用了我自己不久前的部分答案:
正如我之前提到的:当您使用Virtualbox创建
minikube
实例时,您将创建以下网络接口:
NAT
-允许您的虚拟机访问互联网的接口。此连接不能用于公开您的服务Host-only-network-adapter
-由您的主机创建的接口,允许在该接口内进行通信。这意味着您的主机和其他具有此特定适配器的vm可以相互连接。它是为内部使用而设计的您可以在此处阅读有关Virtualbox网络的更多信息:
- Virtualbox.org:虚拟网络
我设法找到了一个解决方法,允许在笔记本电脑/电脑之外连接到
minikube
实例。您需要将minikube
实例的设置中的网络接口从Host-only-network-adapter
更改为Bridged Adapter
(第二个适配器(。这将在另一台设备连接到您的物理网络时工作。请确保此桥接适配器与以太网NIC一起使用。Minikube
应该更改IP地址,使其与物理地址中使用的地址相匹配。您还需要更改
.kube/config
,因为它会有旧的/错误的IP地址!之后,您应该能够通过物理网络中可访问的IP连接到
Ingress
资源。--Stackoverlow.com:答案::将Kubernetes集群暴露在互联网上
--driver=none
您也可以使用--driver=none
运行minikube
,但此方法有一些注意事项,您可以通过以下文档了解更多信息(太长了,读不下去了您将直接在主机上运行minikube
(:
- Minikube.sigs.k8s.io:文档:驱动程序:无
其他资源:
- Minikube.sigs.k8s.io:Docs:Drivers