リスナー

最終公開日 : Oct 02, 2026
リスナーCRDは、コンテンツスイッチング負荷分散仮想サーバーのエンドポイント情報を表します。このトピックには、リスナーCRDオブジェクトのサンプルが含まれており、リスナーCRDのさまざまな属性についても説明しています。完全なCRD定義については、Listener.yamlを参照してください。
注:
イングレスリソースとコンテンツルーティングCRD(リスナーCRDおよびHTTPRoute CRD)は、同じエンドポイント(IPアドレスとポート)で共存できません。イングレスでのコンテンツルーティングCRDの使用はサポートされていません。

リスナーCRDオブジェクトの例

以下は、リスナーCRDオブジェクトの例です。
apiVersion: citrix.com/v1
kind: Listener
metadata:
  name: my-listener
  namespace: default
spec:
  certificates:
  - secret:
      name: my-secret
    # Secret named 'my-secret' in current namespace bound as default certificate
    default: true
  - secret:
      # Secret 'other-secret' in demo namespace bound as SNI certificate
      name: other-secret
      namespace: demo
  - preconfigured: second-secret
    # preconfigured certkey name in ADC
  vip: '192.168.0.1' # Virtual IP address to be used, not required when CPX is used as ingress device
  port: 443
  protocol: https
  redirectPort: 80
  secondaryVips:
  - "10.0.0.1"
  - "1.1.1.1"
  policies:
    httpprofile:
      config:
        websocket: "ENABLED"
    tcpprofile:
      config:
        sack: "ENABLED"
    sslprofile:
      config:
        ssl3: "ENABLED"
    sslciphers:
    - SECURE
    - MEDIUM
    analyticsprofile:
      config:
      - type: webinsight
        parameters:
           allhttpheaders: "ENABLED"
    csvserverConfig:
      rhistate: 'ACTIVE'
  routes:
    # Attach the policies from the below Routes
  - name: domain1-route
    namespace: default
  - name: domain2-route
    namespace: default
  - labelSelector:
      # Attach all HTTPRoutes with label route=my-route
      route: my-route
  # Default action when traffic matches none of the policies in the HTTPRoute
  defaultAction:
    backend:
      kube:
        namespace: default
        port: 80
        service: default-service
        backendConfig:
          lbConfig:
            # Use round robin LB method for default service
            lbmethod: ROUNDROBIN
          servicegroupConfig:
            # Client timeout of 20 seconds
            clttimeout: "20"
その他の例については、リスナーの例を参照してください。

Listener.spec

Listener.spec属性は、リスナーカスタムリソースの仕様を定義します。次の表は、Listener.spec属性のさまざまなフィールドについて説明しています。
フィールド 説明 タイプ                              ; 必須
protocol 負荷分散コンテンツスイッチング仮想サーバーのプロトコルを指定します。許可される値は、tcp、udp、http、およびhttpsです。 文字列 はい
port ロードバランシングコンテンツスイッチング仮想サーバーのポート番号を指定します。HTTPプロトコルのデフォルトポート番号は80、HTTPSプロトコルは443です。 整数 いいえ
routes ListenerリソースにアタッチされるHTTPRouteリソースのリストを指定します。評価順序はリストの順序に従います。つまり、複数のエントリが存在する場合、リストで最初に指定されたルートが最も高い優先順位を持ち、以降も同様です。 [ ] ルート いいえ
ingressclass 指定されたイングレスクラスに関連付けられたイングレスコントローラーのみがリソースを処理するように、イングレスクラスを指定します。そうでない場合、クラスター内のすべてのコントローラーがこのリソースを処理します。 文字列 いいえ
certificates プロトコルがHTTPSの場合、SSL仮想サーバーの証明書リストを指定します。プロトコルがHTTPSの場合、このフィールドは必須です。 [ ] 証明書 いいえ
vip ロードバランシングコンテンツスイッチング仮想サーバーのエンドポイントIPアドレスを指定します。このアドレスはNetScaler VPXおよびMPXデバイスには必須ですが、Kubernetesクラスターに存在するNetScaler CPXには必須ではありません。NetScaler CPXの場合、vip はCNIによって割り当てられたNetScaler CPXのプライマリIPアドレスと同じです。 文字列 いいえ
defaultAction routes で指定されたHTTPRouteリソースのいずれもトラフィックに一致しない場合に実行するデフォルトのアクションを指定します。 アクション いいえ
policies フロントエンド仮想サーバーに関連付けられたHTTP、TCP、およびSSLポリシーをカスタマイズできるオプションを指定します。 [ ] Listener.policies いいえ
redirectPort このポートのHTTPトラフィックがHTTPSポートにリダイレクトされることを指定します。 整数 いいえ
secondaryVips プライマリVIPとともにVIPとして使用されるIPアドレスのセットを指定します。IPセットが作成され、これらのVIPがIPセットに追加されます。 [ ] 文字列 いいえ
multicluster コンテンツスイッチング仮想サーバーのIPアドレスが、マルチクラスターとNetScaler Ingress Controllerによって共有されるかどうかを指定します。 ブール値 いいえ
passthrough SSLトラフィックのSSLパススルーを有効にします。トラフィックは復号化されずにバックエンドに転送されます。リスナーがイングレスアノテーションで参照されている場合にのみ利用可能で、ルートでは使用できません。 ブール値 いいえ

Listener.certificates

Listener.certificates 属性は、SSL仮想サーバーのTLS証明書関連情報を定義します。
Listener.certificates 属性の例を次に示します。
certificates:
- secret:
    name: my-secret
    namespace: demo
  default: true
- preconfigured: configured-secret
次の表は、Listener.certificates 属性のさまざまなフィールドについて説明しています。
フィールド 説明 型 必須
secret Kubernetesシークレットリソースを介して指定されたTLS証明書を指定します。シークレットには、キー tls.crt と tls.key が含まれている必要があります。これらのキーには、証明書と秘密鍵が含まれています。シークレットまたは事前設定されたフィールドのいずれかが必要です。すべての証明書は、SNI証明書としてSSL仮想サーバーにバインドされます。 certificates.secret いいえ
preconfigured NetScalerで事前設定されたTLS certkey の名前を指定します。このフィールドは、Tier-1 VPXおよびMPXデバイスにのみ適用されます。certkey は、Listenerリソースの実際のデプロイメントの前に存在している必要があります。そうでない場合、リソースのデプロイメントはエラーで失敗します。NetScaler Ingress Controllerは certkey のライフサイクルを管理しません。したがって、certkey の追加または削除は手動で管理する必要があります。シークレットまたは事前設定されたフィールドのいずれかが必要です。 文字列 いいえ
default デフォルト証明書を指定します。証明書のうち1つだけをデフォルトとしてマークできます。仮想サーバーがSNIフィールドなしでトラフィックを受信した場合、デフォルト証明書が提示されます。この証明書は、IPアドレスを使用してHTTPSアプリケーションにアクセスするために使用できます。適用可能な値はtrueとfalseです。 ブール値 いいえ

Listener.certificates.Secret

この属性は、SSL仮想サーバーにバインドする必要があるTLS証明書用のKubernetesシークレットリソースを表します。
次の表は、Listener.certificate.Secret属性のさまざまなフィールドについて説明しています。
フィールド 説明 タイプ 必須
name Kubernetesシークレットリソースの名前を指定します。シークレットには、tls.crtとtls.keyという名前のキーが含まれている必要があります。これらのキーには、証明書と秘密鍵が含まれています。シークレットオブジェクトに複数のtls.crtフィールドが存在する場合、最初の証明書はサーバー証明書と見なされ、残りの証明書は中間CA証明書と見なされます。また、証明書はサーバー証明書から開始して、互いに再帰的にリンクされます。 文字列 はい
namespace Kubernetesシークレットリソースの名前空間を指定します。この値が指定されていない場合、名前空間はListenerリソースと同じと見なされます。 文字列 いいえ

Listener.routes

この属性は、ListenerリソースにアタッチされているHTTPRouteオブジェクトのリストを表します。 次の表は、Listener.routes属性のさまざまなフィールドについて説明しています。
フィールド 説明 タイプ 必須
name バックエンドサーバーへのルーティング決定のために評価されるHTTPRouteリソースの名前を指定します。nameまたはlabelSelectorのいずれかが必要です。 文字列 いいえ
namespace HTTPRouteリソースの名前空間を指定します。デフォルト値はListenerリソースの名前空間です。 文字列 いいえ
labelSelector HTTPRouteリソースのラベルセレクターを指定します。このフィールドは、HTTPRouteリソースをアタッチする別の方法を提供します。このセレクターに一致するラベルキーと値を持つHTTPRouteオブジェクトは、リスナーリソースに自動的にアタッチされます。ルートがlabelSelectorを介してアタッチされる場合、ルートは特定の順序なしでアタッチされます。このルールの例外は、常に最後にアタッチされるデフォルトパス ('/') を持つルートです。例に示すように、ラベルを持つHTTPRouteオブジェクトはリスナーオブジェクトにアタッチされます。ラベルとセレクターの詳細については、Kubernetes Documentationを参照してください。 オブジェクト いいえ

Listener.action

この属性は、ロードバランシング仮想サーバーへのリクエストがListener.routesフィールドに示されているルートオブジェクトのいずれにも一致しない場合のデフォルトアクションを表します。
次の表は、Listener.action属性のさまざまなフィールドについて説明しています。
フィールド 説明 タイプ 必須
backend このフィールドのデフォルトアクションは、トラフィックをバックエンドサービスに送信することです。バックエンドまたはリダイレクトのいずれかが必要です。 action.backend いいえ
redirect デフォルトアクションはトラフィックをリダイレクトすることです。バックエンドまたはリダイレクトのいずれかが必要です。 action.redirect いいえ

Listener.action.backend

この属性は、デフォルトアクションのバックエンドサービスを指定します。 次の表は、Listener.action.backend 属性のさまざまなフィールドについて説明しています。
フィールド 説明 タイプ 必須
kube バックエンドサービス用のKubernetesサービス情報を指定します。 action.backend.kube

Listener.action.backend.kube

この属性は、デフォルトのバックエンドに対するKubernetesバックエンドサービスを表します。サービスがNodePortまたはLoadbalancerタイプの場合、ノードIPアドレスとNodePortがバックエンドへのトラフィックの送信に使用されます。
Listener.action.backend.kube属性の例を次に示します。
kube:
  service: default-service
  namespace: default
  port: 80
  backendConfig:
    lbConfig:
      lbmethod: ROUNDROBIN
    servicegroupConfig:
      clttimeout: '20'
次の表は、Listener.action.backend.kube属性のさまざまなフィールドについて説明しています。
フィールド 説明 タイプ 必須
service デフォルトのバックエンドに対するKubernetesサービスの名前を指定します。 文字列 はい
namespace デフォルトバックエンドのKubernetesサービスのネームスペースを指定します。 文字列 はい
port デフォルトバックエンドのKubernetesサービスのポート番号を指定します。 整数 はい
backendConfig デフォルトバックエンドのバックエンド構成を指定します。 BackendConfig いいえ

BackendConfig

この属性は、NetScalerのバックエンド構成を表します。 BackendConfig属性の例を次に示します。
backendConfig:
 sercureBackend: true
 lbConfig:
   lbmethod: ROUNDROBIN
 servicegroupConfig:
   clttimeout: '20'
次の表は、BackendConfig属性のさまざまなフィールドについて説明しています。
フィールド 説明 タイプ 必須
secureBackend 通信が安全かどうかを指定します。secureBackendフィールドの値がtrueの場合、バックエンドとの通信には安全な通信が使用されます。デフォルト値はfalseで、これはバックエンド通信にHTTPが使用されることを意味します。
lbConfig 指定されたバックエンドのNetScalerロードバランシング仮想サーバー構成を指定します。例に示すように、バックエンドのLBVserver構成を設定するキーと値のペアを指定できます。有効なすべての構成については、LB仮想サーバー構成を参照してください。 オブジェクト いいえ
servicegroupConfig 指定されたバックエンドのNetScalerサービスグループ構成を指定します。例に示すように、バックエンドのサービスグループ構成を設定するキーと値のペアを指定できます。有効なすべての構成については、サービスグループ構成を参照してください。 オブジェクト いいえ

Listener.action.redirect

defaultAction:
  redirect:
   httpsRedirect: true
   responseCode: 302
次の表は、Listener.action.redirect 属性のさまざまなフィールドについて説明しています。
フィールド 説明 タイプ 必須
httpsRedirect このフィールドが yes に設定されている場合、HTTPトラフィックをHTTPSにリダイレクトします。他のURL部分を変更せずに、スキームのみがHTTPSに変更されます。httpsRedirect、hostRedirect、または targetExpression のいずれかが必要です。 ブール値 いいえ
hostRedirect URLのホスト名部分をここで設定された値に書き換え、トラフィックをリダイレクトします。リダイレクト中にURLの他の部分は変更されません。 文字列 いいえ
targetExpression リダイレクト用のNetScaler式を指定します。たとえば、HTTPからHTTPSにトラフィックをリダイレクトするには、次の式を使用できます: ""https://"+HTTP.REQ.HOSTNAME + HTTP.REQ.URL.HTTP_URL_SAFE"。 文字列 いいえ
responseCode 応答コードを指定します。デフォルトの応答コードは302ですが、この属性を使用してカスタマイズできます。 整数 いいえ

Listener.policies

この属性は、ポリシーが指定されていない場合にリスナーに使用されるデフォルトポリシーを表します。Listener.policiesを使用することで、TCP、HTTP、およびSSLの動作をカスタマイズできます。
Listener.policies属性の例を次に示します。
policies:
 httpprofile:
  config:
   websocket: "ENABLED"
 tcpprofile:
  config:
   sack: "ENABLED"
 sslprofile:
  config:
   ssl3: "ENABLED"
 sslciphers:
  - HIGH
  - MEDIUM
  analyticsprofile:
   config:
   - type: webinsight
     parameters:
      allhttpheaders: "ENABLED"
  csvserverConfig:
   rhistate: 'ACTIVE'
   stateupdate: ‘ENABLED’
次の表は、Listener.policies属性のさまざまなフィールドについて説明しています。
フィールド 説明 タイプ 必須
httpprofile フロントエンド仮想サーバーのHTTP設定を指定します。 Listener.policies.httpprofile いいえ
tcpprofile フロントエンド仮想サーバーのTCP設定を指定します。 Listener.policies.tcpprofile いいえ
sslprofile フロントエンド仮想サーバーのSSL設定を指定します。 Listener.policies.sslprofile いいえ
sslciphers SSLプロファイルにバインドされる暗号のリストを指定します。優先順位はリストで指定された順序で、リストの最初にあるものに高い優先順位が与えられます。このフィールドでは、NetScalerで利用可能な任意のSSL暗号、またはユーザーが作成した暗号グループを使用できます。NetScalerで利用可能な暗号のリストについては、NetScalerの暗号を参照してください。 [ ] 文字列 いいえ
analyticsprofile フロントエンド仮想サーバーの分析プロファイル設定を指定します Listener.policies.analyticsprofile いいえ
csvserverConfig リスナーのフロントエンドCS仮想サーバー設定を指定します。フロントエンドのCS仮想サーバー設定を行う例に示されているように、キーと値のペアを指定できます。 オブジェクト いいえ

Listener.policies.tcpprofile

この属性は、フロントエンドCS仮想サーバーのTCPプロファイル設定を表します。
Listener.policies.tcpprofile属性の例を次に示します。
    policies:
     tcpprofile:
      config:
       sack: "ENABLED"
       nagle: “ENABLED”
---
    policies:
     tcpprofile:
      preconfigured: test-tcp-profile
次の表は、Listener.policies.tcpprofile属性のさまざまなフィールドについて説明しています。
フィールド 説明 タイプ 必須
preconfigured フロントエンドCS仮想サーバーに使用される、事前設定されたTCPプロファイルの名称を指定します。このプロファイルは、ポリシーを適用する前にNetScalerに存在している必要があります。そうでない場合、Listenerリソースの適用は失敗します。preconfiguredまたはconfigのいずれかが必要です。 文字列 いいえ
config フロントエンド仮想サーバーのTCPプロファイル設定を指定します。仮想サーバーのTCP特性を調整するために、例に示すようにキーと値のペアを指定できます。 オブジェクト いいえ

Listener.policies.httpprofile

この属性は、フロントエンドCS仮想サーバーのHTTP構成を表します。
Listener.policies.httpprofile属性の例を次に示します。
    policies:
     httpprofile:
      config:
       websocket: "ENABLED"
---
    policies:
     httpprofile:
     preconfigured: test-http-profile
次の表は、Listener.policies.httpprofile属性のさまざまなフィールドについて説明しています。
フィールド 説明 タイプ 必須
preconfigured フロントエンドCS仮想サーバーに使用される、事前設定されたHTTPプロファイルの名称を指定します。このプロファイルは、ポリシーを適用する前にNetScalerに存在している必要があります。そうでない場合、Listenerリソースの適用は失敗します。preconfigured または config のいずれかが必要です。 文字列 いいえ
config フロントエンド仮想サーバーのHTTPプロファイル設定を指定します。例に示すようにキーと値のペアを指定して、仮想サーバーのHTTPプロトコル特性を調整できます。 オブジェクト いいえ

Listener.policies.sslprofile

この属性は、フロントエンドCS仮想サーバーのSSLプロファイルを表します。
Listener.policies.sslprofile 属性の例を次に示します。
    policies:
     sslprofile:
      config:
       ssl3: "ENABLED"
---
    policies:
     sslprofile:
      preconfigured: test-ssl-profile
次の表は、Listener.policies.sslprofile 属性のさまざまなフィールドについて説明しています。
フィールド 説明 タイプ 必須
preconfigured フロントエンドSSL仮想サーバーに使用される、事前設定されたSSLプロファイルの名称を指定します。このプロファイルは、ポリシーを適用する前にNetScalerに存在している必要があります。そうでない場合、リスナーリソースの適用は失敗します。preconfiguredまたはconfigのいずれかが必要です。 文字列 いいえ
config フロントエンド仮想サーバーのSSLプロファイル設定を指定します。例に示すようにキーと値のペアを指定することで、仮想サーバーのSSL特性を調整できます。 オブジェクト いいえ
注: 高度なSSL機能を使用するには、NetScalerでset ssl parameter -defaultProfile ENABLEDコマンドを使用してデフォルトプロファイルを有効にする必要があります。

Listener.policies.analyticsprofile

この属性は、カウンターとメトリクスをNetScaler Observability Exporterにエクスポートするために使用されるアナリティクスプロファイルを表します。この属性を設定することで、アナリティクスプロファイルを作成してバインドすることにより、エクスポートする内容を選択できます。
Listener.policies.analyticsprofile属性の例を次に示します。
    policies:
     analyticsprofile:
      config:
      - type: webinsight
        parameters:
         allhttpheaders: "ENABLED"
---
    policies:
     analyticsprofile:
      preconfigured:
      - test-analytics-profile
      - test2-analytics-profile
次の表は、Listener.policies.analyticsprofile 属性のさまざまなフィールドについて説明しています。
フィールド 説明 タイプ 必須
preconfigured フロントエンド仮想サーバーにバインドする必要がある、事前設定されたアナリティクスプロファイルのリストを指定します。これらのプロファイルは、ポリシーを適用する前にNetScalerに存在している必要があります。そうでない場合、Listenerリソースの適用は失敗します。preconfigured または config のいずれかが必要です。 [ ] 文字列 いいえ
config フロントエンド仮想サーバーにバインドされるアナリティクスプロファイルのリストを指定します。これにより、NetScaler Observability Exporterにエクスポートされるフィールドが決定されます。 [ ] Listener.policies.analyticsprofile.config いいえ

Listener.policies.analyticsprofile.config

この属性は、エクスポートする必要があるさまざまな種類のインサイトおよびHTTPヘッダーパラメーターのアナリティクスプロファイル構成を表します。
次の表は、Listener.policies.analyticsprofile.config 属性のさまざまなフィールドについて説明しています。
フィールド 説明 タイプ 必須
type 有効にする分析プロファイルのタイプを決定するタイプを指定します。次のタイプの1つ以上を有効にできます: webinsight, tcpinsight, securityinsight, videoinsight, hdxinsight, gatewayinsight, timeseries, lsninsight, および botinsight 文字列 はい
parameters 分析プロファイル の一部として有効にする追加パラメーターを指定します。例に示すように、キーと値のペアを指定できます。たとえば、このフィールドを使用して、webinsight の一部としてエクスポートするHTTPパラメーターを選択できます。 オブジェクト いいえ