【问题标题】:How to connect to minikube services from outside如何从外部连接到 minikube 服务
【发布时间】:2023-04-10 17:29:01
【问题描述】:

我正在尝试切换我的本地开发环境以在 minikube 中运行。我已经构建了所有容器映像,并且拥有了所有 YAML 配置,并且我拥有了我需要运行的所有服务,我可以使用从 minikube service web --url 返回的 URL 访问它们(web 是我的前端 nginx 服务器的名称)。但是有一件事我一直无法弄清楚。我正在进行的项目需要与后端通信的智能外部设备。我的工作台上有几台设备连接到本地 LAN,但我不知道如何将 minikube 内部运行的服务暴露给外部,即设备可以使用笔记本电脑的外部 IP 连接到服务。有这样做的标准方法吗?

编辑:我试图为我的服务配置入口。这是我的入口配置。

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: web
spec:
  backend:
    serviceName: web
    servicePort: 80

Web 服务可通过minikube service web 命令访问,并以 NodePort 类型公开。当我尝试访问入口时,我得到的只是“默认后端 404”。另一方面,即使它确实有效,我仍然会遇到问题,因为 ingress 将服务暴露在 VM 内部子网上,并且无法从主机外部访问。我开始考虑运行某种代理或加速器来将东西从主机转发到 minikube vm。仍然需要运行 ingress 才能为代理提供持久端点。

【问题讨论】:

    标签: kubernetes minikube


    【解决方案1】:

    有多种方法。但我通过这种方式找到了解决方案。

    ~ → ?  $ minikube status
    minikube: Running
    cluster: Running
    kubectl: Correctly Configured: pointing to minikube-vm at 192.168.99.100
    

    这里我们可以使用 192.168.99.100 和 nodeport 连接服务。对于节点端口为 30000 的仪表板来说,URL 将是: http://192.168.99.100:30000/

    可以通过以下命令获取服务端口:

    ~ → ?  $ kubectl get svc --all-namespaces
    

    【讨论】:

    • 大约一年前我问过这个问题,所以我没有准备好相同的设置。但我不认为你的解决方案有效。 Minikube 在 VM 中运行所有内容。因此,即使该服务具有 NodePort,它映射到的端口也在虚拟机上,而不是物理机上。这正是您的输出所说的pointing to minikube-vm at 192.168.99.100。无法从运行它的机器外部访问 minikube VM。
    【解决方案2】:

    以 Minikube Ingress add-on 为例,请参阅此 blog post 如何设置和使用它。

    【讨论】:

    • 这并没有完全按照发帖人的要求做,因为(除非有人修改了 minikube)它只会在 virtualbox“hostonly”网络上监听,而这正是它所做的说:只有主机可以访问。当然应该可以使用 virtualbox“桥接”网络让 minikube 获取 LAN ip,但默认情况下它肯定不会这样做
    • 你是对的@MatthewLDaniel,也许值得指出的是,如果需要从机器外部访问,可以使用例如stackoverflow.com/questions/39850819/… 中所示的解决方案。
    • 是的,连接设备在运行 minikube 的机器之外。
    • 我一直在阅读 ingresses。首先,我所有尝试关注 kube 文档和媒体帖子的尝试都失败了。我可以使用minikube service 命令访问我的服务,但不能通过入口。而且正如上面的 cmets 中提到的,ingress 仍然在 minikube vm 内部运行,并且仍然无法从 dev 系统外部访问。
    • @MichaelHausenblas 您的链接指向一个问题,而不是一个答案。知道哪些解决方案适用于从 LAN 访问入口,而不是直接从本地主机访问?
    猜你喜欢
    • 1970-01-01
    • 2019-06-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-02
    • 1970-01-01
    • 2020-09-15
    • 2020-10-13
    相关资源
    最近更新 更多