如何从外部连接到minikube服务

时间:2017-09-12 15:53:08

标签: kubernetes minikube

我正在尝试将本地开发环境切换为在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。仍然需要运行入口才能拥有代理的持久端点。

2 个答案:

答案 0 :(得分: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

答案 1 :(得分:0)

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

相关问题