VirtualServiceIneffectiveMatch
このメッセージは、仮想サービスに、前のルールが同じマッチを指定しているために使用されることのないマッチルールが含まれている場合に表示されます。
例
このメッセージは、
Info [IST0131] (VirtualService tls-routing.default) VirtualService rule #1 match #0 is not used (duplicates a match in rule #0).
クラスタに以下の仮想サービスが存在する場合に表示されます。
apiVersion: networking.istio.io/v1
kind: VirtualService
metadata:
name: tls-routing
spec:
hosts:
- www1.googleapis.com
- api1.facebook.com
tls:
- match:
- port: 2443
sniHosts:
- www1.googleapis.com
route:
- destination:
host: www1.googleapis.com
- match:
- port: 2443
sniHosts:
- www1.googleapis.com
route:
- destination:
host: api1.facebook.com
この例では、仮想サービスは同じマッチに対して2つの異なる宛先を指定しています。Istioは最初のマッチを使用し、2番目の宛先にはトラフィックを送信しません。
解決方法
複数の場所にトラフィックを送信する必要がある場合は、mirror
を使用してください。
最も具体的なルートを最初に配置し、包括的なルートを最後に配置するようにルートの順序を変更してください。