如何从外部连接到minikube服务

问题描述 投票:5回答:2

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

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

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

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

kubernetes minikube
2个回答
4
投票

有多种方式。但我这样找到了解决方案。

~ → 🐳  $ 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

0
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.