1

我正在尝试通过路径重写设置一个简单的入口,以将请求传递给我的后端服务。

参考:https ://haproxy-ingress.github.io/v0.10/docs/configuration/keys/#rewrite-target

入口控制器使用此图像:quay.io/jcmoraisjr/haproxy-ingress:v0.10-beta.1.

这是示例 YAML:

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: "myapp-apis-ingress"
  namespace: "my-namespace"
  labels:
    app: myapp
    tier: ingress
  annotations:
    kubernetes.io/ingress.class: "haproxy"
    haproxy.org/rewrite-target: "/"
spec:
  rules:
    - host: "myapp.mydomain"
      http:
        paths:
          - path: /api/v1/hello
            pathType: Prefix
            backend:
              service:
                name: "myapp-hello-svc"
                port:
                  number: 8080

预期行为:

  • https://myapp.mydomain/api/v1/hello/*它应该将请求从GKE 服务路由到myapp-hello-svc:8080/*

实际行为:

  • 它将所有内容路由到myapp-hello-svc:8080/api/v1/hello/*(myapp-hello-svc pod 接收GET /api/v1/hello/*

我尝试了其他一些组合和规则,但似乎都没有。

有什么我可能在这里错过的想法吗?谢谢!

更新:解决方法

由于目前我仍然找不到解决方案,我决定使用解决方法,将 NGINX 入口控制器添加到 K8S 集群并通过它路由新 API 的流量。

4

0 回答 0