統合イングレス

最終公開日 : Oct 02, 2026
統合イングレス展開は、North-Southトラフィックのロードバランシングを実行するために使用されます。North-Southトラフィックとは、Kubernetesクラスターに出入りするトラフィック、つまりクライアントとフロントエンドのマイクロサービス間を流れるトラフィックのことです。この展開では、NetScaler Ingress ControllerがNetScalerの設定を自動化し、Kubernetes環境内のマイクロサービスへのトラフィックをロードバランスします。NetScaler Ingress Controllerは、Kubernetes APIサーバーを監視し、NetScaler MPXまたはNetScaler VPXを設定するポッドとして実行されます。

KubernetesクラスターにNetScaler Ingress Controllerをスタンドアロンポッドとして展開する

netscaler-ingress-controller Helmチャートを使用して、NetScaler Ingress ControllerをKubernetesクラスターにポッドとして展開します。
インストールには、NetScaler Ingress Controllerポッドの作成、クラスターロールの作成、クラスターロールバインディング、およびサービスアカウントの作成が含まれます。
Helmチャートを使用してNSICを展開する場合、各パラメーターを引数として提供する代わりに、values.yamlファイルを使用して設定可能なパラメーターの値を指定できます。
注:
NSICはRBACロールでも動作します。

前提条件

  • NetScaler Ingress ControllerがNetScalerと通信するために使用するNS_IP (NetScaler IP) アドレスを特定します。IPアドレスは、NetScaler展開のタイプに応じて、次のいずれかのアドレスである可能性があります。
    • NSIP (スタンドアロンアプライアンスの場合) - スタンドアロンNetScalerアプライアンスの管理IPアドレス。詳細については、IP Addressing in NetScalerを参照してください。
    • SNIP (高可用性モードのアプライアンスの場合) - サブネットIPアドレス。詳細については、IP Addressing in NetScalerを参照してください。
    • CLIP (クラスターモードのアプライアンスの場合) - クラスターNetScaler展開のクラスター管理IP (CLIP) アドレス。詳細については、IP addressing for a clusterを参照してください。
  • Ingressデバイスとして使用されるNetScaler MPXまたはNetScaler VPXのシステムユーザーアカウントのユーザー名とパスワード。NetScaler Ingress ControllerがNetScaler MPXまたはNetScaler VPXを設定できるように、NetScalerには特定の権限を持つシステムユーザーアカウント (非デフォルト) が必要です。NetScalerでシステムユーザーアカウントを作成する手順については、Create a system user account for NetScaler Ingress Controller in NetScalerを参照してください。
    ユーザー名とパスワードを直接渡すか、Kubernetesシークレットを使用できます。Kubernetesシークレットを使用する場合は、次のコマンドを使用してユーザー名とパスワードのシークレットを作成します。
    kubectl create secret  generic nslogin --from-literal=username=<username> --from-literal=password=<password>
  • Kubernetes環境ではバージョン1.21以降。
  • OpenShiftプラットフォームではバージョン4.8以降。
  • Helmバージョン3.x以降がインストールされていることを確認してください。Helmのインストールについては、Helmチャートのインストールを参照してください。

NetScalerでNetScaler® Ingress Controllerのシステムユーザーアカウントを作成する

NetScaler Ingress Controllerは、NetScalerのシステムユーザーアカウントを使用してNetScalerを構成します。システムユーザーアカウントには、NetScaler Ingress ControllerがNetScalerで以下を構成するための特定の権限が必要です。
  • コンテンツスイッチング (CS) 仮想サーバーの追加、削除、または表示
  • CSポリシーとアクションの構成
  • 負荷分散 (LB) 仮想サーバーの構成
  • サービスグループの構成
  • SSL証明書キーの構成
  • ルートの構成
  • ユーザーモニターの構成
  • システムファイルの追加 (KubernetesからSSL証明書キーをアップロードするため)
  • 仮想IPアドレス (VIP) の構成
  • NetScalerアプライアンスのステータスの確認
システムユーザーアカウントを作成するには、以下を実行します。
  1. NetScalerにログオンします。以下の手順を実行します。
    1. PuTTyなどのSSHクライアントを使用して、NetScalerへのSSH接続を開きます。
    2. 管理者資格情報を使用してNetScalerにログオンします。
  2. 次のコマンドを使用してシステムユーザーアカウントを作成します。
    add system user <username> <password>
    例:
    add system user nsic mypassword
  3. システムユーザーアカウントに必要な権限を付与するポリシーを作成します。次のコマンドを使用します。
    add cmdpolicy nsic-policy ALLOW '\^(\?!shell)(\?!sftp)(\?!scp)(\?!batch)(\?!source)(\?!.*superuser)(\?!.*nsroot)(\?!install)(\?!show\s+system\s+(user|cmdPolicy|file))(\?!(set|add|rm|create|export|kill)\s+system)(\?!(unbind|bind)\s+system\s+(user|group))(\?!diff\s+ns\s+config)(\?!(set|unset|add|rm|bind|unbind|switch)\s+ns\s+partition).*|(\^install\s*(wi|wf))|(\^\S+\s+system\s+file)\^(\?!shell)(\?!sftp)(\?!scp)(\?!batch)(\?!source)(\?!.*superuser)(\?!.*nsroot)(\?!install)(\?!show\s+system\s+(user|cmdPolicy|file))(\?!(set|add|rm|create|export|kill)\s+system)(\?!(unbind|bind)\s+system\s+(user|group))(\?!diff\s+ns\s+config)(\?!(set|unset|add|rm|bind|unbind|switch)\s+ns\s+partition).*|(\^install\s*(wi|wf))|(\^\S+\s+system\s+file)'
    注:
    システムユーザーアカウントには、定義したコマンドポリシーに基づいて権限が付与されます。
    ***ステップ3***で述べられているコマンドポリシーは、組み込みのsysAdminコマンドポリシーに似ており、ファイルアップロードの追加権限が付与されています。
    提供されているコマンドポリシーの仕様では、エスケープする必要がある特殊文字は、NetScalerコマンドラインに簡単にコピー&ペーストできるように、すでに省略されています。
    NetScaler設定ウィザード(GUI)からコマンドポリシーを設定するには、次のコマンドポリシー仕様を使用します。
    \^(?!shell)(?!sftp)(?!scp)(?!batch)(?!source)(?!.*superuser)(?!.*nsroot)(?!install)(?!show\s+system\s+(user|cmdPolicy|file))(?!(set|add|rm|create|export|kill)\s+system)(?!(unbind|bind)\s+system\s+(user|group))(?!diff\s+ns\s+config)(?!(set|unset|add|rm|bind|unbind|switch)\s+ns\s+partition).*|(\^install\s*(wi|wf))|(\^\S+\s+system\s+file)\^(?!shell)(?!sftp)(?!scp)(?!batch)(?!source)(?!.*superuser)(?!.*nsroot)(?!install)(?!show\s+system\s+(user|cmdPolicy|file))(?!(set|add|rm|create|export|kill)\s+system)(?!(unbind|bind)\s+system\s+(user|group))(?!diff\s+ns\s+config)(?!(set|unset|add|rm|bind|unbind|switch)\s+ns\s+partition).*|(\^install\s*(wi|wf))|(\^\S+\s+system\s+file)
  4. 次のコマンドを使用して、ポリシーをシステムユーザーアカウントにバインドします。
    bind system user nsic nsic-policy 0

KubernetesクラスターにNetScaler Ingress Controllerをスタンドアロンポッドとして展開する

NetScaler Ingress Controllerをスタンドアロンポッドとして展開するには:
  1. 次のコマンドを使用して、NetScaler Helmチャートリポジトリをローカルレジストリに追加します。
    helm repo add netscaler https://netscaler.github.io/netscaler-helm-charts/
  2. 次のコマンドを使用して、NetScaler Ingress Controllerをインストールします。
    helm install nsic netscaler/netscaler-ingress-controller --set nsIP=<NSIP>,license.accept=yes,adcCredentialSecret=<Secret-for-NetScaler-credentials>,entityPrefix="<provideprefix>"
注:
各パラメータをコマンドライン引数として指定する代わりに、helm installコマンドでvalues.yamlファイルを使用して、設定可能なパラメータの値を指定することもできます。例:helm install nsic netscaler/netscaler-ingress-controller -f values.yaml。
NSICのインストール中に設定できる必須およびオプションのパラメータについては、構成を参照してください。
警告:
KubernetesクラスターでNSICポッドのレプリカを作成しないでください。replicatset>1を指定してNSICポッドのレプリカを作成すると、同じAPP_PREFIXがNSICポッド間で共有され、各インスタンスが同じリソースを構成しようとするため、NSIC/VPXで予期しない動作が発生します。

NetScaler MPXまたはNetScaler VPXでのルート追加

Kubernetesクラスターに展開されたサービスがシームレスに機能するためには、NetScalerがポッドが実行されている基盤となるオーバーレイネットワークに到達できる必要があります。NetScaler Ingress Controllerのfeature-node-watch引数を使用すると、ポッドネットワークへのNetScaler上の自動ルート構成が可能です。詳細については、静的ルーティングを参照してください。デフォルトでは、feature-node-watchはfalseに設定されています。自動ルート構成を有効にするには、trueに設定します。
複数のk8sクラスター間で負荷分散するために単一のNetScalerを使用する展開では、CNIサブネットが重複する可能性があり、ルート競合により静的ルーティングが失敗する可能性があります。このような展開では、ポリシーベースルーティング(PBR)を使用できます。PBRでは、環境変数またはConfigMapを使用して、各Kubernetesクラスターに固有の1つ以上のサブネットIPアドレスを提供する必要があります。PBRサポートを参照してください。
NetScalerでポリシーベースルート(PBR)を構成するために、サブネットIPアドレス(SNIP)を提供するには、次のコマンドを使用します。
helm install my-release netscaler/netscaler-ingress-controller --set nsIP=<NSIP>,license.accept=yes,adcCredentialSecret=<Secret-for-NetScaler-credentials>,nsSNIPS='[<NS_SNIP1>\, <NS_SNIP2>\, ...]'
注:
PBRは、NetScaler Node Controllerを展開することでも実現できます。NetScaler Node Controllerは、デフォルトでVXLANトンネルの作成時に静的ルートを追加します。静的ルートの競合を避けるためにポリシーベースルーティング(PBR)を使用するには、NetScaler Node ControllerとNetScaler Ingress Controllerの両方が連携して動作し、特定の引数で起動する必要があります。詳細については、NetScalerノードコントローラーを使用したPBRの構成を参照してください。
NSIC の helm install コマンドで nsncPbr=<True/False> パラメータを使用して、NetScaler Node Controller が NetScaler 上でポリシーベースルート (PBR) を構成していることを NSIC に通知します。
helm install my-release netscaler/netscaler-ingress-controller --set nsIP=<NSIP>,license.accept=yes,adcCredentialSecret=<Secret-for-NetScaler-credentials>,clusterName=<unique-cluster-identifier>,nsncPbr=<True/False>