如何在k8s上将nginx前端连接到aspnetcore后端?

时间:2018-04-03 16:28:18

标签: nginx service kubernetes frontend backend

你好吗?我在kubernetes的前端和后端部署之间的连接遇到了麻烦。在我的Nginx前端内部,我可以:

curl http://abphost

但是在浏览器中我得到了:

  

净:: ERR_NAME_NOT_RESOLVED

  • abphost是一个ClusterIP服务。
  • 我正在使用NodePort服务来访问我的nginx前端。

1 个答案:

答案 0 :(得分:1)

  

但是在浏览器中我得到了:

当然,那是因为群集有自己的DNS服务器,名为kube-dns,旨在解决内部内部的内容,这些内容通常没有任何意义< em>在集群之外。

认为http://my-service.my-ns.svc.cluster.local可以在任何没有kube-dns Servce IP作为其DNS解析器的地方工作,这是不恰当的期望。

如果您想访问后端服务,可以使用两种技巧:创建指向后端的Service的第二个type: NodePort,以及浏览器指向新的NodePort Service 1}}的端口,或

到目前为止,更合理和可扩展的解决方案是使用Ingress controller表示尽可能多的NodePort,使用您可能已经熟悉的相同nginx虚拟主机。这样你只需花费一个 Services,但可以暴露几乎无限的Service,并对这些type: NodePort的方式进行非常非常精细的控制。暴露 - 使用 int n; cin>>n; int ar[n]; 更难做到。