Kubernetes: IngressのPathが前方一致になる件

controlplane ~ ➜  k get ingress ingress-app -o yaml -n app-space 
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  annotations:
    nginx.ingress.kubernetes.io/rewrite-target: /
  creationTimestamp: "2023-02-21T08:24:49Z"
  generation: 1
  name: ingress-app
  namespace: app-space
  resourceVersion: "2489"
  uid: 84e4eba1-3b79-4d41-88ea-f4e8262ae9b5
spec:
  rules:
  - http:
      paths:
      - backend:
          service:
            name: wear-service
            port:
              number: 8080
        path: /wear
        pathType: Exact
      - backend:
          service:
            name: video-service
            port:
              number: 8080
        path: /watch
        pathType: Exact
status:
  loadBalancer:
    ingress:
    - ip: 10.106.101.255

controlplane ~ ➜  

Ingressのそれぞれのパスは対応するパスのタイプを持ちます。pathTypeが明示的に指定されていないパスはバリデーションに通りません。サポートされているパスのタイプは3種類あります。

  • ImplementationSpecific(実装に特有): このパスタイプでは、パスとの一致はIngressClassに依存します。Ingressの実装はこれを独立したpathTypeと扱うことも、PrefixExactと同一のパスタイプと扱うこともできます。
  • Exact: 大文字小文字を区別して完全に一致するURLパスと一致します。
  • Prefix/で分割されたURLと前方一致で一致します。大文字小文字は区別され、パスの要素対要素で比較されます。パス要素は/で分割されたパスの中のラベルのリストを参照します。リクエストがパス p に一致するのは、Ingressのパス p がリクエストパス p と要素単位で前方一致する場合です。

Exactになっていれば、前方一致ではなく完全一致になるはずだが…
Lab環境でテストしたところ 前方一致でアクセスできた。