我已经在 AKS 中安装了 nginx 入口控制器。
我的任务很简单。我只想利用 nginx 入口控制器根据路径调用我的前端和后端服务。
以下是我的入口文件
前端.yaml
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: frontend
annotations:
nginx.ingress.kubernetes.io/rewrite-target: /
spec:
ingressClassName: nginx
rules:
- http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: frontend-svc
port:
number: 80
后端.yaml
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: backend
annotations:
nginx.ingress.kubernetes.io/rewrite-target: /$2
spec:
ingressClassName: nginx
rules:
- http:
paths:
- path: /backend(/|$)(.*)
pathType: Prefix
backend:
service:
name: backend-svc
port:
number: 8005
我的期望: 当我点击入口控制器时,我想查看前端应用程序,同样,如果我点击 /backend,我想调用后端 API。
当我尝试同样的操作时,Ingress 控制器没有给出任何响应。同时,如果我删除上述任何一个 yaml 文件,我都可以访问相应的服务。当这两个规则都应用时它不起作用。
我是一个天真的用户入口控制器。无法确定出了什么问题。任何帮助将不胜感激。