将本地IP映射到外部/主机IP ... IP转发?

时间:2018-02-11 05:28:14

标签: macos solr kubernetes portforwarding minikube

我在minikube里面为POC运行solr。我想弄清楚如何访问minikube内的solr。根据我的知识,我无法使用我的主机IP访问solr,只能使用minikube IP访问 - 192.168.99.100:8983/solr。我的目标是从远程控制台访问solr服务器。

我的一位队友建议我可以使用能够将传入请求转发到本地IP的东西。

有什么建议吗?

由于

2 个答案:

答案 0 :(得分:1)

您需要使用kubectl expose命令公开solr服务以进行外部访问。

在k8s中有四种方法可以公开外部访问服务:

  1. LoadBalancer自动设置ExternalIP的服务类型。当存在外部非k8s,云提供商的负载均衡器(如CGE,AWS或Azure)时,将使用此方法,此外部负载均衡器将根据https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services---service-types为nginx入口服务提供ExternalIP。
  2. ExternalIPshttps://kubernetes.io/docs/concepts/services-networking/service/#external-ips
  3. NodePort:在此方法中,可以使用NodeIP:NodePort/url/of/the/service从群集外部命中服务。
  4. Ingresshttps://kubernetes.io/docs/concepts/services-networking/ingress/

答案 1 :(得分:1)

首先,您需要获取服务的URL for solr。

$ minikube service <service-name> --url
http://192.168.99.100:30000

此处,30000是您的solr服务NodePort。

现在您需要创建SSH隧道。

为此尝试这个

$ ssh -i ~/.minikube/machines/minikube/id_rsa docker@$(minikube ip) -L \*:30000:0.0.0.0:30000
  

注意:要在后台保留SSH隧道,请在&

末尾添加(ssh -i .....) &

现在您可以使用主机IP地址访问此solr服务