NetScaler Ingress ControllerをNetScaler VPXと共にAzure Kubernetes Serviceクラスターに展開する

最終公開日 : Oct 02, 2026
このトピックでは、NetScaler Ingress ControllerをNetScaler VPXと共にAzure Kubernetes Service (AKS)クラスターに展開する方法について説明します。また、Azure VMs上にKubernetesクラスターを構成し、NetScaler Ingress ControllerをNetScaler VPXと共に展開することもできます。
AKSとAzure VMの両方への展開手順は同じです。ただし、Azure VM上にKubernetesを構成する場合は、Kubernetesクラスター用のCNIプラグインを展開する必要があります。

前提条件

手順のステップを実行する前に、以下のタスクを完了する必要があります。
  • Kubernetesクラスターが稼働していることを確認します。
    注:
    AKSでKubernetesクラスターを作成する方法の詳細については、AKSクラスターの作成ガイドを参照してください。

トポロジ

以下は、この展開で使用されるサンプル トポロジです。
シングルティア

Azure MarketplaceからNetScaler VPXインスタンスを取得する

Azure MarketplaceからNetScaler VPXを作成できます。 Azure MarketplaceからNetScaler VPXインスタンスを作成する方法の詳細については、Azure MarketplaceからNetScaler VPXを取得するを参照してください。

Azure マーケットプレイスからNetScaler Ingress Controllerを取得する

NetScaler Ingress Controllerを展開するには、Azure上にイメージレジストリを作成し、対応するイメージURLを使用してNetScaler Ingress Controllerイメージを取得する必要があります。
レジストリの作成方法とイメージURLの取得方法の詳細については、Azure MarketplaceからNetScaler Ingress Controllerを入手するを参照してください。
レジストリが作成されたら、NetScaler Ingress Controllerのレジストリ名をデプロイに使用するAKSクラスターにアタッチする必要があります。
az aks update -n <cluster-name> -g <resource-group-where-aks-deployed> --attach-acr <cic-registry>

NetScaler Ingress Controllerのデプロイ

NetScaler Ingress Controllerをデプロイするには、次の手順を実行します。
  1. Kubernetesシークレットを使用してNetScaler VPXのログイン資格情報を作成します。
    kubectl create secret  generic nslogin --from-literal=username='<azure-vpx-instance-username>' --from-literal=password='<azure-vpx-instance-password>'
    注:
    NetScaler VPXのユーザー名とパスワードは、AzureでNetScaler VPXを作成する際に設定した資格情報と同じである必要があります。
  2. SSHを使用して、NetScaler VPXのセカンダリIPアドレスであるSNIPをNetScaler VPXに構成します。この手順は、NetScalerがKubernetesクラスター内のポッドと対話するために必要です。
    add ns ip <snip-vpx-instance-private-ip> <vpx-instance-primary-ip-subnet>
    • snip-vpx-instance-private-ipは、NetScaler VPXインスタンスの作成中にSNIPを追加する際に割り当てられる動的プライベートIPアドレスです。
    • vpx-instance-primary-ip-subnetは、NetScaler VPXインスタンスのプライマリプライベートIPアドレスのサブネットです。
    プライベートIPアドレスのサブネットを確認するには、NetScaler VPXインスタンスにSSHで接続し、次のコマンドを使用します。
    show ip <primary-private-ip-addess>
  3. NetScaler Ingress ControllerのYAMLファイルで、NetScaler VPXのイメージURL、管理IP、およびVIPを更新します。
    1. NetScaler Ingress ControllerのYAMLファイルをダウンロードします。
      wget https://raw.githubusercontent.com/citrix/citrix-k8s-ingress-controller/master/deployment/azure/manifest/azurecic/cic.yaml
      注:
      wgetがインストールされていない場合は、fetchまたはcurlコマンドを使用できます。
    2. cic.yamlファイルで、NetScaler Ingress ControllerイメージをAzureイメージURLで更新します。
      - name: cic-k8s-ingress-controller
        # CIC Image from Azure
        image: "<azure-cic-image-url>"
    3. cic.yamlの以下のフィールドで、NetScaler VPXのプライマリIPアドレスをAzure VPXインスタンスのプライベートプライマリIPアドレスで更新します。
      # Set NetScaler NSIP/SNIP, SNIP in case of HA (mgmt has to be enabled)
      - name: "NS_IP"
      value: "X.X.X.X"
    4. cic.yamlの以下のフィールドで、NetScaler VPX VIPを、VPX Azureインスタンス作成時に割り当てられたVIPのプライベートIPアドレスで更新します。
      # Set NetScaler® VIP for the data traffic
      - name: "NS_VIP"
        value: "X.X.X.X"
  4. 必要な値でNetScaler Ingress Controllerを設定したら、次のコマンドを使用してNetScaler Ingress Controllerを展開します。
    kubectl create -f cic.yaml

サンプルアプリケーションを使用してデプロイを検証する

  1. 次のコマンドを使用して、必要なアプリケーションをKubernetesクラスターに展開し、クラスターでサービスとして公開します。
    kubectl create -f  https://raw.githubusercontent.com/citrix/citrix-k8s-ingress-controller/master/deployment/azure/manifest/azurecic/apache.yaml
  2. 次のコマンドを使用してIngressリソースを作成します。
    kubectl create -f https://raw.githubusercontent.com/citrix/citrix-k8s-ingress-controller/master/deployment/azure/manifest/azurecic/ingress.yaml
  3. デプロイを検証するには、次のコマンドを使用します。
    $ curl --resolve citrix-ingress.com:80:<Public-ip-address-of-VIP> http://citrix-ingress.com
    &lt;html>&lt;body><h1>It works!</h1>&lt;/body>&lt;/html>
    レスポンスは、Kubernetesクラスター内にあるサンプルマイクロサービス (Apache) から受信されます。NetScaler VPXはリクエストをロードバランシングしました。