如何解决访问同一网络上的 minikube 集群 --driver=virtualbox:--driver=none
我已经在 VM 中设置了一个 minikube
集群用于开发目的。
我部署了一些服务和一个入口控制器(minikube 控制器),以便能够在不使用 NodePorts 的情况下访问它。
在我的 VM 中,我可以像往常一样使用 curl http://hello-world.info
或其他服务访问我的服务。一切正常。
但是当我在我的虚拟机之外时,即使我在同一个网络上也无法访问它。我尝试从我的托管服务器、笔记本电脑和外部使用 VPN。
集群 IP 在我的 VM 内部地址 (ip a
) 中很好地列出,但无法在 VM 外部访问(例如: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。
谢谢:)
解决方法
就我个人而言,我还没有找到在 minikube
上使用 --driver=docker
公开 LAN
实例的方法。
作为在 minikube
上公开 LAN
实例的解决方法,您可以--driver
:
--driver=virtualbox
--driver=none
特别是将您的 Kubernetes 集群暴露给 LAN
,我还会考虑查看其他 Kubernetes 解决方案,例如(您可以在裸机上运行它们,或者使用 bridged
在 vbox vm 中运行它们网络:
--driver=virtualbox
:
引用我前段时间的部分回答:
正如我之前提到的:当您使用 Virtualbox 创建 minikube
实例时,您将创建以下网络接口:
-
NAT
- 允许您的 VM 访问 Internet 的接口。此连接不能用于公开您的服务 -
Host-only-network-adapter
- 由您的主机创建的接口,允许在该接口内进行通信。这意味着您的主机和其他具有此特定适配器的虚拟机可以相互连接。它专为内部使用而设计。
您可以在此处阅读有关 Virtualbox 网络的更多信息:
我已设法找到一种解决方法,以允许从您的笔记本电脑/PC 外部连接到您的 minikube
实例。您需要将 minikube
实例设置中的网络接口从 Host-only-network-adapter
更改为 Bridged Adapter
(第二个适配器)。这将在另一台设备连接到您的物理网络时起作用。请确保此桥接适配器与以太网 NIC 一起使用。 Minikube
应更改 IP 地址以匹配您的物理地址。
您还需要更改您的 .kube/config
,因为它会有旧的/错误的 IP 地址!
之后,您应该能够通过物理网络中可访问的 IP 连接到您的 Ingress
资源。
-- Stackoverflow.com: Answers:: Expose Kubernetes cluster to Internet
--driver=none
您也可以使用 minikube
运行 --driver=none
,但此方法有一些注意事项,您可以按照此文档阅读更多相关信息(tl;dr 您正在直接运行 minikube
在您的主机上):
其他资源:
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。