Google Cloud Platform に Ingress デバイスとして NetScaler CPX を展開する

最終公開日 : Oct 02, 2026
このトピックでは、Google Kubernetes Engine (GKE) に Ingress デバイスとして NetScaler CPX を展開する方法について説明します。

前提条件

この手順のステップを実行する前に、以下のタスクを完了する必要があります。
  • Kubernetes クラスターが稼働していることを確認します。
  • GKE でクラスターを実行している場合は、cluster-admin ロールバインディングが構成されていることを確認してください。
cluster-admin ロールバインディングを構成するには、次のコマンドを使用します。
kubectl create clusterrolebinding citrix-cluster-admin --clusterrole=cluster-admin --user=<email-id of your google account>
次のコマンドを使用して、Google アカウントの詳細を取得できます。
gcloud info | grep Account

Google Cloud Platform に Ingress デバイスとして NetScaler CPX を展開する

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

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

    |Name | Type | Cluster-IP | External IP| Port(s) | Age |
    |-----| -----| -------| -----| -----| ----|
    |apache| ClusterIP|10.7.248.216|none|80/TCP |3m|
    |cpx-ingress|LoadBalancer|10.7.241.6|EXTERNAL-IP CREATED|80:32258/TCP,443:32084/TCP|3m|
    |kubernetes| ClusterIP| 10.7.240.1|none|443/TCP|22h|`
    注記: クラウドロードバランサーのヘルスチェックは、NetScaler CPXサービスYAMLファイルで構成されたreadinessProbeから取得されます。ヘルスチェックが失敗した場合は、NetScaler CPX用に構成されたreadinessProbeを確認する必要があります。 詳細については、readinessProbeおよび外部ロードバランサーを参照してください。
  3. 次のコマンドを使用してアプリケーションにアクセスします。
    curl http://<External-ip-of-loadbalancer>/ -H 'Host: citrix-ingress.com'

クイックデプロイ

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