ヘッダーに基づいてポッドにトラフィックをルーティングしたいと思います-フォールバックを使用します。
望ましい結果は、ヘッダー値を使用して、同じサービスの複数のバージョンをデプロイおよびルーティングできる k8s クラスターです。
svcA svcB svcC
これらの各サービス (git リポジトリのメイン ブランチ) は、デフォルトの名前空間にデプロイされるか、「main」というラベルが付けられます。各サービスの任意の機能ブランチも、独自の名前空間にデプロイするか、ブランチ名でラベル付けしてデプロイできます。
理想的には、ヘッダーX-svcA
をブランチ名と一致する値に設定することで、すべてのトラフィックを一致する名前空間またはラベルにルーティングします。そのような名前空間またはラベルがない場合は、トラフィックをデフォルト (メイン) ポッドにルーティングします。
if HEADERX && svcX:label
route->svcX:label
else
route->svcX
最初の質問 - istio または linkerd でもこれ (またはそのようなもの) は可能ですか?