Citrix ADC ingress controller

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

このトピックでは、Citrix ADC CPXをGoogle Kubernetesエンジン(GKE)のイングレスデバイスとして展開する方法について説明します。

前提条件

「」の手順を実行する前に、次のタスクを完了しておく必要があります。

  • 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

Citrix ADC CPXをGoogle Cloud Platform にイングレスデバイスとして展開する

  1. 次のコマンドを使用して、必要なアプリケーションを Kubernetes クラスタにデプロイし、クラスタ内のサービスとして公開します。

    kubectl create -f https://raw.githubusercontent.com/citrix/citrix-k8s-ingress-controller/master/deployment/gcp/manifest/apache.yaml
    

    注:

    この例では、 apache.yaml が使用されています。アプリケーションには特定の YAML ファイルを使用する必要があります。

  2. 次のコマンドを使用して、Citrix ADC CPX をクラスタ内のイングレスデバイスとして展開します。

    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. 次のコマンドを使用して、Citrix ADC 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|`
    

    注: クラウドロードバランサーのヘルスチェックは、 Citrix ADC CPX サービスの YAML ファイルで構成された readinessProbe から取得されます。ヘルスチェックが失敗した場合は、Citrix ADC CPX 用に構成された ReadinessProbe を確認する必要があります。 詳細については、 ReadinessProbeと外部ロードバランサーを参照してください

  3. 以下のコマンドを使用してアプリケーションにアクセスします。

    curl http://<External-ip-of-loadbalancer>/ -H 'Host: citrix-ingress.com'
    

クイック展開

デプロイを容易にするために、前のトピックで説明した手順を組み合わせた 1 つのオールインワンマニフェストをデプロイするだけで済みます。

  1. オールインワンの.yamlを使用して、組み込みの Citrix ingress controller を持つ Citrix ADC CPX イングレスを 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 コマンドを使用します。

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