IstioとEnvoyはアプリケーショントラフィックレイヤー(L7)で動作し、HTTPヘッダーなどの属性に基づいてトラフィックを転送および負荷分散できます。この例は、リクエストURIパスに基づいてトラフィックを転送する方法となります。
この例において、myapp
はWebサイトのサーバーバックエンドであり、frontend
によって使用されます。エンジニアリングチームは、新しいユーザー認証サービス auth
を実装しました。authは現在、別のサービスとして動作しています。
Istio match rule を使用して、/login
プレフィックスを含むすべてのリクエストを新しい auth
サービスにリダイレクトし、他のすべての myapp
リクエストを既存のバックエンドに転送します。
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
name: auth-redirect
spec:
hosts:
- myapp
http:
- match:
- uri:
prefix: "/login"
route:
- destination:
host: auth
- route:
- destination:
host: myapp