Azure Kubernetes ServiceクラスターにNetScaler CPXをIngressデバイスとして展開する

最終公開日 : Oct 02, 2026
このトピックでは、Azure Kubernetes Service (AKS) クラスターにNetScaler CPXをIngressデバイスとして展開する方法について説明します。NetScaler CPXは、AKSのAdvanced Networking (Azure CNI)とBasic Networking (Kubenet)の両方のモードをサポートしています。
注:
デフォルトのquay.ioイメージの代わりに、NetScaler CPXまたはNetScaler Ingress ControllerにAzureリポジトリイメージを使用する場合は、(/ja-jp/netscaler-k8s-ingress-controller/deploy/azure-image.html)を参照してください。

AKSクラスターにNetScaler CPXをIngressデバイスとして展開する

AKSクラスターにNetScaler CPXをIngressデバイスとして展開するには、次の手順を実行します。
注:
この手順では、Apache Webサーバーがサンプルアプリケーションとして使用されます。
  1. 必要なアプリケーションをKubernetesクラスターに展開し、次のコマンドを使用してクラスター内でサービスとして公開します。
    kubectl create -f https://raw.githubusercontent.com/citrix/citrix-k8s-ingress-controller/master/deployment/azure/manifest/apache.yaml
    注:
    この例では、apache.yamlが使用されます。ご使用のアプリケーションには、特定のYAMLファイルを使用する必要があります。
  2. 次のコマンドを使用して、NetScaler CPXをクラスターにIngressデバイスとして展開します。
    kubectl create -f https://raw.githubusercontent.com/citrix/citrix-k8s-ingress-controller/master/deployment/azure/manifest/standalone_cpx.yaml
  3. 次のコマンドを使用して、Ingressリソースを作成します。
    kubectl create -f https://raw.githubusercontent.com/citrix/citrix-k8s-ingress-controller/master/deployment/azure/manifest/cpx_ingress.yaml
  4. 次のコマンドを使用して、NetScaler CPXにアクセスするためのLoadBalancerタイプのサービスを作成します。
    kubectl create -f https://raw.githubusercontent.com/citrix/citrix-k8s-ingress-controller/master/deployment/azure/manifest/cpx_service.yaml
    このコマンドは、トラフィックを受信するための外部IPを持つAzureロードバランサーを作成します。
  5. サービスを確認し、ロードバランサーが外部IPを作成したかどうかを確認します。外部IPが作成されていない場合は、しばらくお待ちください。
    kubectl  get svc

    |NAME|TYPE|CLUSTER-IP|EXTERNAL-IP|PORT(S)| AGE|
    |----|----|-----|-----|----|----|
    |apache |ClusterIP|10.0.103.3|none|   80/TCP | 2m|
    |cpx-ingress |LoadBalancer |10.0.37.255 | pending |80:32258/TCP,443:32084/TCP |2m|
    |Kubernetes |ClusterIP | 10.0.0.1 |none |  443/TCP | 22h |
  6. ロードバランサーの外部IPが次のように利用可能になったら、ロードバランサーの外部IPを使用してリソースにアクセスできます。
    kubectl  get svc

    |NAME|TYPE|CLUSTER-IP|EXTERNAL-IP|PORT(S)|  AGE|
    |---|---|----|----|----|----|
    |apache|ClusterIP|10.0.103.3 |none|80/TCP|  3m|
    |cpx-ingress |LoadBalancer|10.0.37.255|  EXTERNAL-IP CREATED| 80:32258/TCP,443:32084/TCP |  3m|
    |Kubernetes|    ClusterIP|10.0.0.1 |none| 443/TCP| 22h|
    注:
    クラウドロードバランサーのヘルスチェックは、NetScaler CPXデプロイyamlファイルで設定されたreadinessProbeから取得されます。ヘルスチェックが失敗した場合は、NetScaler CPX用に設定されたreadinessProbeを確認する必要があります。詳細については、readinessProbeおよび外部ロードバランサーを参照してください。
  7. 次のコマンドを使用してアプリケーションにアクセスします。
    curl http://<External-ip-of-loadbalancer>/ -H 'Host: citrix-ingress.com

クイックデプロイ

デプロイを容易にするために、前のトピックで説明した手順を組み合わせた単一のオールインワンマニフェストをデプロイするだけで済みます。
  1. all-in-one.yamlを使用して、組み込みのNetScaler Ingress Controllerを備えたNetScaler CPXイングレスをKubernetesクラスターにデプロイします。
    kubectl create -f https://raw.githubusercontent.com/citrix/citrix-k8s-ingress-controller/master/deployment/azure/manifest/all-in-one.yaml
  2. 次のコマンドを使用してアプリケーションにアクセスします。
    curl http://<External-ip-of-loadbalancer>/ -H 'Host: citrix-ingress.com'
    注:
    デプロイを削除するには、kubectl delete -f all-in-one.yamlコマンドを使用します。