我正在尝试通过路径重写设置一个简单的入口,以将请求传递给我的后端服务。
参考: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 的流量。