Kubernetes入口路径:允许/blog的所有例外/

Kubernetes入口路径:允许/blog的所有例外/,kubernetes,microservices,kubernetes-ingress,nginx-ingress,Kubernetes,Microservices,Kubernetes Ingress,Nginx Ingress,我有一个在Kubernetes上运行的服务,可以在example.com这样的域上使用。我正在尝试添加一个应该重定向到wordpress博客的路径。所以我需要添加一条规则:进入/blog/的所有内容都应该重定向到wordpress,否则使用主应用程序 我试图在主应用程序路径中包含一个regexp,以包含除/blog之外的所有应用程序/ - host: example.com http: paths: - path: /^(?!blog).*$ 但是我不断得到

我有一个在Kubernetes上运行的服务,可以在
example.com
这样的域上使用。我正在尝试添加一个应该重定向到wordpress博客的路径。所以我需要添加一条规则:进入/blog/的所有内容都应该重定向到wordpress,否则使用主应用程序

我试图在主应用程序路径中包含一个regexp,以包含除/blog之外的所有应用程序/

  - host: example.com
    http:
      paths:
      - path: /^(?!blog).*$
但是我不断得到
必须是有效的正则表达式
,或者如果我删除斜杠,它会说
必须是绝对路径
。我似乎找不到一个方法来实现这一点,它只是不断重定向到我的根应用程序

apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
  name: app
  annotations:
    kubernetes.io/ingress.class: nginx
spec:
  rules:
  - host: example.com
    http:
      paths:
      - path: /
        backend:
          serviceName: MainAppService
          servicePort: 3010
      - path: /blog/*
        backend:
          serviceName: BlogService
          servicePort: 3020
试试这个-

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  annotations:
    nginx.ingress.kubernetes.io/rewrite-target: /$1
    kubernetes.io/ingress.class: nginx
  name: app
spec:
  rules:
  - host: example.com
    http:
      paths:
      - path: /(.*)
        backend:
          serviceName: MainAppService
          servicePort: 3010
      - path: /blog/(.*)
        backend: 
          serviceName: BlogService
          servicePort: 3020


我想,这应该行得通

我在确定重写目标部分时遇到了一些问题,但这确实行得通!