【发布时间】:2020-08-29 16:48:26
【问题描述】:
我在 Ubuntu 18.04 上的 minikube 中使用 Kubernetes,并启用了入口插件。 我希望我的 NextJS 服务通过仅通过入口控制器发出请求来与通过入口服务器连接的 Express 服务进行通信。因此,当我使用跨命名空间通信时,它不会像本教程中所示的那样工作。由于 minikube 中的 ingress-nginx 在 kube-system 命名空间上运行。
$ kubectl get service -n kube-system
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
ingress-nginx-controller-admission ClusterIP 10.103.20.47 none 443/TCP 15d
kube-dns ClusterIP 10.96.0.10 none 53/UDP,53/TCP,9153/TCP 36d
我正在运行的服务
$ kubectl get services
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
exp-mongo-srv ClusterIP 10.103.255.125 <none> 27017/TCP 42s
exp-srv ClusterIP 10.103.118.45 <none> 3000/TCP 42s
next-srv ClusterIP 10.108.158.184 <none> 3000/TCP 39s
预期的请求 url 是:http://ingress-nginx.ingress-nginx.svc.cluster.local(通过 nginx 通信)
但是我必须通过http://exp-srv:3000(这是服务之间的直接通信)
【问题讨论】:
标签: microservices kubernetes-ingress minikube nginx-ingress kubernetes-service