首页 > 解决方案 > Kubernetes:基于路径仅适用于 root

问题描述

我有一个 EKS 集群,目前使用基于路径的路由。我之前发布过这个帖子,所以我所有的配置都在那里:Kubernetes: 502 (Bad getaway)

我的入口控制器来自那里:https ://raw.githubusercontent.com/kubernetes/ingress-nginx/nginx-0.24.1/deploy/mandatory.yaml

这是我的入口:

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: simple-fanout-example
  namespace : default
  annotations:
    kubernetes.io/ingress.class: nginx
    nginx.ingress.kubernetes.io/rewrite-target: /$2
spec:
  rules:
  - host: domain.com
    http:
      paths:
      - path: /bleble(/|$)(.*)
        backend:
          serviceName: bleble-svc
          servicePort: 8080
      - path: /hello-world
        backend:
          serviceName: hello-world-svc
          servicePort: 8080

这绝对可以正常工作,直到您尝试去任何不是 domain.com/bleble 或 domain.com/hello-world 的地方。服务需要相互引用,而他们请求的uri只是domain.com,这显然是行不通的,因为服务在domain.com/nameoftheservice。

2个问题是:

我试过做一个单一的入口资源并且有nginx.ingress.kubernetes.io/app-root : /bleble,但这似乎不起作用。我也试过注释nginx.ingress.kubernetes.io/rewrite-target: /coretest

谢谢您的帮助!

标签: kubernetesnginx-ingressamazon-eks

解决方案


推荐阅读