バックエンド サービスにリクエストを渡すために、パスの書き換えを使用して簡単なイングレスをセットアップしようとしています。
参照: 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 ポッドが受信するGET /api/v1/hello/*
他の組み合わせとルールをいくつか試しましたが、どちらも機能していないようです。
ここで見逃した可能性のあるアイデアはありますか? ありがとう!
更新: 回避策
現在、これに対する解決策をまだ見つけることができないため、NGINX イングレス コントローラーを K8S クラスターに追加し、代わりにそれを介して新しい API のトラフィックをルーティングするという回避策を使用することにしました。