NetScaler Ingress Controller 用の AppQoE を使用したリクエスト再試行機能の有効化

最終公開日 : Oct 02, 2026
NetScaler アプライアンスが HTTP リクエストを受信し、それをバックエンドサーバーに転送する際、バックエンドサーバーとの接続障害が発生する場合があります。NetScaler でリクエスト再試行機能を構成して、クライアントにリセットを送信する代わりに、リクエストを次に利用可能なサーバーに転送できます。これにより、NetScaler が次に利用可能なサービスに同じリクエストを開始する際に、クライアントはラウンドトリップ時間を節約できます。リクエスト再試行機能の詳細については、NetScaler ドキュメントを参照してください。
NetScaler Ingress Controller を使用して、NetScaler でリクエスト再試行を構成できるようになりました。 カスタムリソース定義 (CRD) は、クラウドネイティブ展開でポリシーを構成する主要な方法です。NetScaler が提供する AppQoE CRD を使用すると、NetScaler Ingress Controller を使用して NetScaler でリクエスト再試行ポリシーを構成できます。AppQoE CRD は、AppQoE ポリシーを適用するために NetScaler Ingress Controller と NetScaler 間の通信を可能にします。

AppQoE CRD の定義

AppQoE CRD は、NetScaler Ingress Controller の GitHub リポジトリの appqoe-crd.yaml で入手できます。AppQoE CRD は、NetScaler で AppQoE ポリシーを定義するために必要なさまざまなオプションの属性を提供します。
AppQoE CRD で提供される属性は次のとおりです。
属性 説明
servicenames AppQoE ポリシーを適用する Kubernetes サービスのリストを指定します。
on-reset 接続リセット時に再試行を設定するかどうかを指定します。
on-timeout 再試行の時間をミリ秒単位で指定します。
number-of-retries 再試行回数を指定します。
appqoe-criteria トラフィックを評価するための式を指定します。
direction AppQoEポリシーをバインドするためのバインドポイントを指定します。

AppQoE CRD を展開する

AppQoE CRD を展開するには、以下を実行します。
  1. AppQoE CRDをダウンロードします。
  2. 次のコマンドを使用して AppQoE CRD を展開します。
    kubectl create -f appqoe-crd.yaml

AppQoE ポリシー構成の記述方法

NetScaler が提供する AppQoE CRD を Kubernetes クラスターに展開した後、AppQoE ポリシー構成を .yaml ファイルで定義できます。.yaml ファイルでは、kind フィールドに appqoepolicy を使用し、spec セクションでポリシー構成の要件に基づいて AppQoE CRD 属性を追加します。
次の YAML ファイルは、servicenames フィールドにリストされているサービスに AppQoE ポリシーを適用します。AppQoE アクションをタイムアウト時に再試行するように構成し、再試行回数を定義する必要があります。
apiVersion: citrix.com/v1
kind: appqoepolicy
metadata:
  name: targeturlappqoe
spec:
  appqoe-policies:
    - servicenames:
        - apache
      appqoe-policy:
        operation-retry:
          onReset: 'YES'
          onTimeout: 33
        number-of-retries: 2
        appqoe-criteria: 'HTTP.REQ.HEADER("User-Agent").CONTAINS("Android")'
        direction: REQUEST
ポリシー構成を定義したら、次のコマンドを使用して .yaml ファイルを展開します。
$ kubectl create -f appqoe-example.yaml