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