レイヤー7機能の使用

トラフィックフローにウェイポイントプロキシを追加することで、より多くのIstioの機能を有効にできます。ウェイポイントは、Kubernetes Gateway APIを使用して構成します。

ルートとポリシーのアタッチ

Gateway APIは、オブジェクト(ルートやゲートウェイなど)間の関係をアタッチメントという観点から定義します。

  • ルートオブジェクト(例えばHTTPRouteなど)は、アタッチしたいリソースを参照する方法を含んでいます。
  • ポリシーオブジェクトは、メタリソースとみなされます。これは、標準的な方法でターゲットオブジェクトの動作を拡張するオブジェクトです。

以下の表は、各オブジェクトに対して設定されたアタッチメントのタイプを示しています。

トラフィックルーティング

ウェイポイントプロキシがデプロイされている場合、以下のトラフィックルートタイプを使用できます。

名前機能ステータスアタッチメント
HTTPRouteベータparentRefs
TLSRouteアルファparentRefs
TCPRouteアルファparentRefs

これらのルートを使用して実装できる機能の範囲については、トラフィック管理ドキュメントを参照してください。

セキュリティ

ウェイポイントがインストールされていない場合は、レイヤー4セキュリティポリシーのみを使用できます。ウェイポイントを追加することで、以下のポリシーにアクセスできるようになります。

名前機能ステータスアタッチメント
AuthorizationPolicy(L7機能を含む)ベータtargetRefs
リクエスト認証ベータtargetRefs

認可ポリシーに関する考慮事項

アンビエントモードでは、認証ポリシーはターゲット(ztunnelによる適用)またはアタッチ(ウェイポイントによる適用)のいずれかになります。認証ポリシーがウェイポイントにアタッチされるためには、ウェイポイント、またはそのウェイポイントを使用するServiceを参照するtargetRefが必要です。

ztunnelはL7ポリシーを適用できません。L7属性に一致するルールを持つポリシーが、ワークロードセレクター(targetRefによるアタッチではなく)でターゲットにされ、ztunnelによって適用される場合、DENYポリシーになることでフェイルセーフになります。

TCPのみのユースケースでポリシーをウェイポイントにアタッチする場合を含め、詳細については、L4ポリシーガイドを参照してください。

可観測性

Istioトラフィックメトリクスのフルセットは、ウェイポイントプロキシによってエクスポートされます。

拡張

ウェイポイントプロキシはEnvoyのデプロイであるため、サイドカーモードでEnvoyに利用可能な拡張メカニズムは、ウェイポイントプロキシでも利用可能です。

名前機能ステータスアタッチメント
WasmPluginアルファtargetRefs
EnvoyFilterアルファtargetRefs

WebAssemblyプラグインでウェイポイントを拡張する方法の詳細はこちら

拡張構成は、Gateway API定義によりポリシーとみなされます。

ルートまたはポリシーのスコープ設定

ルートまたはポリシーは、ウェイポイントプロキシを通過するすべてのトラフィック、または特定のサービスのみに適用するようにスコープを設定できます。

ウェイポイントプロキシ全体にアタッチ

ルートまたはポリシーをウェイポイント全体にアタッチして、それを使用するように登録されているすべてのトラフィックに適用するには、タイプに応じてparentRefsまたはtargetRefsの値としてGatewayを設定します。

default名前空間のdefaultという名前のウェイポイントに適用するようにAuthorizationPolicyポリシーをスコープするには

apiVersion: security.istio.io/v1
kind: AuthorizationPolicy
metadata:
  name: view-only
  namespace: default
spec:
  targetRefs:
  - kind: Gateway
    group: gateway.networking.k8s.io
    name: default
  action: ALLOW
  rules:
  - from:
    - source:
        namespaces: ["default", "istio-system"]
    to:
    - operation:
        methods: ["GET"]

特定のサービスにアタッチ

ウェイポイント内の1つ以上の特定のサービスにルートをアタッチすることもできます。必要に応じて、parentRefsまたはtargetRefsの値としてServiceを設定します。

default名前空間のreviewsサービスにreviewsHTTPRouteを適用するには

apiVersion: gateway.networking.k8s.io/v1
kind: HTTPRoute
metadata:
  name: reviews
  namespace: default
spec:
  parentRefs:
  - group: ""
    kind: Service
    name: reviews
    port: 9080
  rules:
  - backendRefs:
    - name: reviews-v1
      port: 9080
      weight: 90
    - name: reviews-v2
      port: 9080
      weight: 10
この情報は役に立ちましたか?
改善のための提案はありますか?

フィードバックありがとうございます!