デュアルティア展開のセットアップ方法

最終公開日 : Oct 02, 2026
デュアルティア展開では、NetScaler VPXまたはMPXがKubernetesクラスターの外部(Tier-1)に展開され、NetScaler CPXがKubernetesクラスターの内部(Tier-2)に展開されます。
Tier-1のNetScaler MPXまたはVPXデバイスは、クライアントからTier-2のNetScaler CPXへのトラフィック(南北トラフィック)をプロキシします。Tier-2のNetScaler CPXは、そのトラフィックをKubernetesクラスター内のマイクロサービスにルーティングします。スタンドアロンポッドとして展開されたNetScaler Ingress Controllerは、Tier-1 NetScalerを構成します。そして、1つ以上のNetScaler CPXポッド内のサイドカーNetScaler Ingress Controllerは、同じポッド内の関連するNetScaler CPXを構成します。
デュアルティア展開は、ベアメタル環境のKubernetes、またはAWS、GCP、Azureなどのパブリッククラウドにセットアップできます。
次の図は、デュアルティア展開を示しています。
デュアルティア展開

セットアッププロセス

NetScaler Ingress Controllerのリポジトリには、デモンストレーション目的で、Tier-2用のサンプルApacheマイクロサービスとNetScaler CPXのマニフェスト、Tier-2 NetScaler CPX用のイングレスオブジェクト、NetScaler Ingress Controller、およびTier-1 NetScaler用のイングレスオブジェクトが用意されています。これらのサンプルは、デュアルティアトポロジを展開するためのセットアッププロセスで使用されます。
次の操作を実行します。
  1. クラウドまたはオンプレミスにKubernetesクラスターを作成します。クラウド内のKubernetesクラスターは、マネージドKubernetes(例:GKE、EKS、AKS)またはカスタム作成されたKubernetes展開のいずれかです。
  2. Kubernetesクラスターの外部で、マルチNIC展開モードでNetScaler MPXまたはVPXを展開します。
    NetScaler VPXまたはMPXを展開した後、次の操作を実行します。
    1. KubernetesクラスターのサブネットからIPアドレスをNetScalerのSNIPとして構成します。NetScalerでのSNIPの構成については、サブネットIPアドレス(SNIP)の構成を参照してください。
    2. Kubernetesクラスターと同じサブネットにあるSNIPの管理アクセスを有効にします。SNIPは、NetScaler Ingress ControllerがTier-1 NetScalerを構成できるように、NetScaler Ingress Controller YAMLファイルでNS_IP変数として使用する必要があります。
      注:
      SNIPをNS_IPとして使用することは必須ではありません。NetScalerの管理IPアドレスがNetScaler Ingress Controllerから到達可能な場合は、管理IPアドレスをNS_IPとして使用できます。
    3. クラウド展開では、Tier-1 NetScaler VPXでMACベース転送モードを有効にします。NetScaler VPXはマルチNICモードで展開されているため、POD CNIネットワークまたはクライアントネットワークに到達するための戻りルートがありません。したがって、このシナリオを処理するために、Tier-1 NetScaler VPXでMACベース転送モードを有効にする必要があります。
    4. NetScaler Ingress Controller専用のNetScalerシステムユーザーアカウントを作成します。NetScaler Ingress Controllerは、システムユーザーアカウントを使用してTier-1 NetScalerを自動的に構成します。
    5. オンプレミスのファイアウォールまたはクラウド上のセキュリティグループを設定して、NetScalerに必要なポートへのインバウンドトラフィックを許可します。セットアッププロセスではポート80とポート443を使用しますが、要件に基づいてこれらのポートを変更できます。
  3. サンプルマイクロサービスを展開します。次のコマンドを使用します。
    kubectl create -f https://raw.githubusercontent.com/citrix/citrix-k8s-ingress-controller/master/deployment/dual-tier/manifest/apache.yaml
  4. NetScaler CPXをTier-2イングレスとして展開します。次のコマンドを使用します。
    kubectl create -f https://raw.githubusercontent.com/citrix/citrix-k8s-ingress-controller/master/deployment/dual-tier/manifest/tier-2-cpx.yaml
  5. Tier-2 NetScaler CPXのイングレスオブジェクトを作成します。次のコマンドを使用します。
    kubectl create -f https://raw.githubusercontent.com/citrix/citrix-k8s-ingress-controller/master/deployment/dual-tier/manifest/ingress-tier-2-cpx.yaml
  6. Tier-1 NetScaler用のNetScaler Ingress Controllerを展開します。次の手順を実行します。
    1. NetScaler Ingress Controllerマニフェストファイルをダウンロードします。次のコマンドを使用します。
      wget https://raw.githubusercontent.com/citrix/citrix-k8s-ingress-controller/master/deployment/dual-tier/manifest/tier-1-vpx-cic.yaml
    2. NetScaler Ingress Controllerマニフェストファイルを編集し、次の環境変数の値を入力します。
      環境変数 必須またはオプション 説明
      NS_IP 必須 NetScalerアプライアンスのIPアドレスです。詳細については、前提条件を参照してください。
      NS_USER および NS_PASSWORD 必須 Ingressデバイスとして使用されるNetScaler VPXまたはMPXアプライアンスのユーザー名とパスワードです。詳細については、前提条件を参照してください。
      EULA 必須 エンドユーザーライセンス契約です。値をYesとして指定します。
      LOGLEVEL オプション NetScaler Ingress Controllerによって生成されるログを制御するためのログレベルです。デフォルトでは、値はDEBUGに設定されています。サポートされている値は、CRITICAL、ERROR、WARNING、INFO、およびDEBUGです。詳細については、ログレベルを参照してください。
      NS_PROTOCOL および NS_PORT オプション NetScaler Ingress ControllerがNetScalerと通信するために使用する必要があるプロトコルとポートを定義します。デフォルトでは、NetScaler Ingress Controllerはポート443でHTTPSを使用します。ポート80でHTTPを使用することもできます。
      イングレスクラス 任意 複数のイングレスロードバランサーが異なるイングレスリソースの負荷分散に使用される場合。この環境変数を使用して、特定のイングレスクラスに関連付けられたNetScalerを構成するようにNetScaler Ingress Controllerを指定できます。イングレスクラスの詳細については、イングレスクラスのサポートを参照してください。
      NS_VIP 任意 NetScaler Ingress Controllerは、この環境変数で提供されるIPアドレスを使用して、イングレストラフィックを受信するNetScalerに仮想IPアドレスを構成します。
    3. 更新されたNetScaler Ingress Controllerマニフェストファイルをデプロイします。次のコマンドを使用します。
      kubectl create -f tier-1-vpx-cic.yaml
  7. Tier-1 NetScaler用のイングレスオブジェクトを作成します。次のコマンドを使用します。
    kubectl create -f https://raw.githubusercontent.com/citrix/citrix-k8s-ingress-controller/master/deployment/dual-tier/manifest/ingress-tier-1-vpx.yaml
  8. クラウドまたはオンプレミスのDNSサーバーの詳細を更新して、WebサイトをTier-1 NetScalerのVIPにポイントします。
    例: citrix-ingress.com 192.250.9.1
    ここで、192.250.9.1はTier-1 NetScalerのVIPであり、citrix-ingress.comはKubernetesクラスターで実行されているマイクロサービスです。
  9. マイクロサービスのURLにアクセスして、デプロイメントを確認します。

ワンステップデプロイメントマニフェストファイルを使用したデュアルティアデプロイメントのセットアップ

簡単にデプロイできるように、NetScaler Ingress Controllerのリポジトリには、オールインワンのデプロイマニフェストが含まれています。ファイルをダウンロードし、以下の環境変数の値で更新して、マニフェストファイルをデプロイできます。
注:
「セットアッププロセス」のステップ1~2を完了していることを確認してください。(#setup-process).
次の操作を実行します。
  1. オールインワン展開マニフェストファイルをダウンロードします。次のコマンドを使用します。
    wget https://raw.githubusercontent.com/citrix/citrix-k8s-ingress-controller/master/deployment/dual-tier/manifest/all-in-one-dual-tier-demo.yaml
  2. オールインワン展開マニフェストファイルを編集し、次の環境変数の値を入力します。
    環境変数 必須またはオプション 説明
    NS_IP 必須 NetScalerアプライアンスのIPアドレスです。詳細については、「前提条件」を参照してください。(/ja-jp/netscaler-k8s-ingress-controller/deploy/unified-ingress-deployment.html#prerequisites).
    NS_USER および NS_PASSWORD 必須 Ingressデバイスとして使用されるNetScaler VPXまたはMPXアプライアンスのユーザー名とパスワードです。詳細については、「前提条件」を参照してください。(/ja-jp/netscaler-k8s-ingress-controller/deploy/unified-ingress-deployment.html#prerequisites).
    EULA 必須 エンドユーザーライセンス契約。値をYesとして指定します。
    LOGLEVEL オプション NetScaler Ingress Controllerによって生成されるログを制御するログレベル。デフォルトでは、値はDEBUGに設定されています。サポートされている値は、CRITICAL、ERROR、WARNING、INFO、DEBUGです。詳細については、ログレベルを参照してください。
    NS_PROTOCOL および NS_PORT オプション NetScaler Ingress ControllerがNetScalerと通信するために使用する必要があるプロトコルとポートを定義します。デフォルトでは、NetScaler Ingress Controllerはポート443でHTTPSを使用します。ポート80でHTTPを使用することもできます。
    イングレスクラス オプション 複数のイングレスロードバランサーが異なるイングレスリソースの負荷分散に使用される場合。この環境変数を使用して、特定のイングレスクラスに関連付けられたNetScalerを構成するようにNetScaler Ingress Controllerを指定できます。イングレスクラスの詳細については、(../configure/ingress-classes.htmlを参照してください。
    NS_VIP オプション NetScaler Ingress Controllerは、この環境変数で提供されるIPアドレスを使用して、イングレストラフィックを受信するNetScalerに仮想IPアドレスを構成します。注: NS_VIPは、Ingress yamlでfrontend-ipアノテーションが提供されていない場合のフォールバックとして機能します。タイプLoadbalancerサービスではサポートされていません。
  3. 更新されたオールインワンデプロイメントマニフェストファイルをデプロイします。次のコマンドを使用します。
    kubectl create -f all-in-one-dual-tier-demo.yaml