Citrix ADC ingress controller

Citrix ADC CPX を Azure Kubernetes サービスクラスターにイングレスデバイスとして展開する

このトピックでは、Citrix ADC CPX を Azure Kubernetes サービス(AKS) クラスターにイングレスデバイスとして展開する方法について説明します。Citrix ADC CPX は、AKS の高度なネットワーク (Azure CNI)モードと基本ネットワーク (Kubenet) モードの両方をサポートしています。

注:

デフォルトの quay.io イメージの代わりに Citrix ADC CPX または Citrix ingress controller に Azure リポジトリイメージを使用する場合は、「 Azure リポジトリーイメージを使用して AKS クラスターに Citrix ADC CPX をイングレスデバイスとして展開する」を参照してください。

Citrix ADC CPX をAKSクラスター内のイングレスデバイスとして展開する

Citrix ADC CPX をAKSクラスターの入力デバイスとして展開するには、次の手順を実行します。

注:

この手順では、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. 次のコマンドを使用して、Citrix ADC CPX をクラスタ内のイングレスデバイスとして展開します。

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

    注:

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

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

    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/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 コマンドを使用します。

Citrix ADC CPX を Azure Kubernetes サービスクラスターにイングレスデバイスとして展開する