Citrix ADC ingress controller

二層展開のセットアップ方法

二重層展開では、Citrix ADC VPXまたはMPXはKubernetesクラスタ(Tier-1)の外側に展開され、Citrix ADC CPXはKubernetesクラスタ(Tier-2)内に展開されます。

Tier-1のCitrix ADC MPXまたはVPXデバイスは、クライアントからTier-2のCitrix ADC CPXへのトラフィック(南北)をプロキシします。Tier-2 Citrix ADC CPX は、トラフィックをKubernetesクラスター内のマイクロサービスにルーティングします。スタンドアロンポッドとして展開されたCitrix ingress controller は、Tier-1 Citrix ADC を構成します。また、1つまたは複数のCitrix ADC CPXポッドのサイドカーCitrixイングレスコントローラーは、同じポッド内の関連付けられたCitrix ADC CPXを構成します。

デュアルティアデプロイメントは、ベアメタル環境の Kubernetes、または AWS、GCP、Azure などのパブリッククラウドにセットアップできます。

次の図は、2 層展開を示しています。

デュアルティア導入

セットアッププロセス

Citrix ingress controller リポジトリは 、Tier-2用のCitrix ADC CPX、ティア2 Citrix ADC CPX用のイングレスオブジェクト、Citrixイングレスコントローラー、およびTier-1 Citrix ADC用のイングレスオブジェクト用のサンプルApacheマイクロサービスとマニフェストをデモンストレーション目的で提供します。これらのサンプルは、2 層トポロジを展開するセットアッププロセスで使用されます。

以下の手順に従います。

  1. Kubernetes クラスタをクラウドまたはオンプレミスで作成します。クラウド内の Kubernetes クラスターは、マネージド Kubernetes (GKE、EKS、AKS など) またはカスタム作成された Kubernetes デプロイメントにすることができます。

  2. Citrix ADC MPXまたはVPXをKubernetesクラスター外のマルチNIC展開モードで展開します。

    Citrix ADC VPXまたはMPXを展開したら、次の手順を実行します。

    1. Citrix ADCでKubernetesクラスターのサブネットからIPアドレスをSNIPとして構成します。Citrix ADCでSNIPを構成する方法については、サブネットIPアドレス(SNIP)の構成を参照してください

    2. Kubernetes クラスターの同じサブネットである SNIP の管理アクセスを有効にします。 CitrixイングレスコントローラーがTier-1 Citrix ADCを構成できるようにするには、Citrix ingress controller YAMLファイルでSNIPをNS_IP変数として使用する必要があります

      注:

      SNIPをNS_IPとして使用することは必須ではありません。Citrix ADCの管理IPアドレスにCitrix ingress controller から到達可能な場合は、管理IPアドレスをNS_IPとして使用できます 。

    3. クラウド展開では、Tier-1 Citrix ADC VPXでMACベースの転送モードを有効にします 。Citrix ADC VPXはマルチNICモードで展開されるため、POD CNIネットワークまたはクライアントネットワークに到達するためのリターンルートがありません。したがって、このシナリオを処理するには、Tier-1 Citrix ADC VPXでMACベースの転送モードを有効にする必要があります。

    4. Citrix イングレスコントローラーに固有のCitrix ADCシステムユーザーアカウントを作成します 。Citrix ingress controller は、システムユーザーアカウントを使用して、Tier-1 Citrix ADCを自動的に構成します。

    5. Citrix ADCに必要なポートへのインバウンドトラフィックを許可するように、クラウド上のオンプレミスファイアウォールまたはセキュリティグループを構成します。セットアッププロセスではポート 80 とポート 443 を使用します。これらのポートは必要に応じて変更できます。

  3. サンプルマイクロサービスをデプロイします。次のコマンドを使用します:

    kubectl create -f https://raw.githubusercontent.com/citrix/citrix-k8s-ingress-controller/master/deployment/dual-tier/manifest/apache.yaml
    
  4. Citrix ADC CPXをティア2イングレスとして展開します。次のコマンドを使用します:

    kubectl create -f https://raw.githubusercontent.com/citrix/citrix-k8s-ingress-controller/master/deployment/dual-tier/manifest/tier-2-cpx.yaml
    
  5. ティア2 Citrix ADC CPX用のイングレスオブジェクトを作成します。次のコマンドを使用します:

    kubectl create -f https://raw.githubusercontent.com/citrix/citrix-k8s-ingress-controller/master/deployment/dual-tier/manifest/ingress-tier-2-cpx.yaml
    
  6. Tier-1 Citrix ADC用にCitrixイングレスコントローラーを展開します。以下の手順に従います。

    1. Citrix ingress controller マニフェストファイルをダウンロードします。次のコマンドを使用します:

      wget https://raw.githubusercontent.com/citrix/citrix-k8s-ingress-controller/master/deployment/dual-tier/manifest/tier-1-vpx-cic.yaml
      
    2. Citrix ingress controller マニフェストファイルを編集し、次の環境変数の値を入力します。

      環境変数 必須または任意 説明
      NS_IP 固定 Citrix ADCアプライアンスのIPアドレス。詳細については、「 前提条件」を参照してください。
      NS_USER と NS_PASSWOR 固定 Ingressデバイスとして使用されるCitrix ADC VPXまたはMPXアプライアンスのユーザー名とパスワード。詳細については、「 前提条件」を参照してください。
      EULA 固定 エンドユーザー使用許諾契約書。値をYesとして指定します。
      LOGLEVEL オプション Citrix Ingress Controllerによって生成されるログを制御するログレベル。デフォルトでは、この値は DEBUG に設定されています。サポートされる値は、クリティカル、エラー、警告、情報、デバッグです。詳細については、「 ログレベル」を参照してください。
      NS_PROTOCOLとNS_PORT オプション Citrix ADCと通信するためにCitrix ingress controller が使用する必要のあるプロトコルとポートを定義します。デフォルトでは、Citrix ingress controller はポート443でHTTPSを使用します。HTTP はポート 80 でも使用できます。
      ingress-classes オプション 複数のイングレス・ロード・バランサを使用して、異なるイングレス・リソースのロード・バランシングを行う場合。この環境変数を使用して、Citrix ingress controller を指定して、特定のイングレスクラスに関連付けられたCitrix ADCを構成できます。Ingress クラスの詳細については、 Ingress クラスのサポートを参照してください
      NS_VIP オプション Citrix ingress controller は、この環境変数で指定されたIPアドレスを使用して、Ingressトラフィックを受信するCitrix ADCへの仮想IPアドレスを構成します。注: NS_VIP は frontend-ip アノテーションよりも優先されます。
    3. 更新されたCitrix ingress controller マニフェストファイルを展開します。次のコマンドを使用します:

      kubectl create -f tier-1-vpx-cic.yaml
      
  7. Tier-1 Citrix ADC 用のイングレスオブジェクトを作成します。次のコマンドを使用します:

    kubectl create -f https://raw.githubusercontent.com/citrix/citrix-k8s-ingress-controller/master/deployment/dual-tier/manifest/ingress-tier-1-vpx.yaml
    
  8. クラウドまたはオンプレミスのDNSサーバーの詳細を更新して、WebサイトがTier-1 Citrix ADC VIPを参照するようにします。

    たとえば、次のようになります:citrix-ingress.com 192.250.9.1

    192.250.9.1はTier-1 Citrix ADC VIPで、 citrix-ingress.com はKubernetesクラスターで実行されているマイクロサービスです。

  9. マイクロサービスの URL にアクセスして、デプロイメントを確認します。

ワンステップ展開マニフェストファイルを使用して二重層展開をセットアップする

展開を容易にするために、Citrix ingress controller リポジトリにはオールインワンの展開マニフェストが含まれています 。このファイルをダウンロードして、次の環境変数の値で更新し、マニフェストファイルをデプロイできます。

注:

セットアッププロセスのステップ1 ~ 2 が完了していることを確認します。

以下の手順に従います。

  1. オールインワンのデプロイマニフェストファイルをダウンロードします。次のコマンドを使用します:

    wget https://raw.githubusercontent.com/citrix/citrix-k8s-ingress-controller/master/deployment/dual-tier/manifest/all-in-one-dual-tier-demo.yaml
    
  2. オールインワンデプロイマニフェストファイルを編集し、次の環境変数の値を入力します。

    環境変数 必須または任意 説明
    NS_IP 固定 Citrix ADCアプライアンスのIPアドレス。詳細については、「 前提条件」を参照してください。
    NS_USER と NS_PASSWOR 固定 Ingressデバイスとして使用されるCitrix ADC VPXまたはMPXアプライアンスのユーザー名とパスワード。詳細については、「 前提条件」を参照してください。
    EULA 固定 エンドユーザー使用許諾契約書。値をYesとして指定します。
    LOGLEVEL オプション Citrix Ingress Controllerによって生成されるログを制御するログレベル。デフォルトでは、この値は DEBUG に設定されています。サポートされる値は、クリティカル、エラー、警告、情報、デバッグです。詳細については、「 ログレベル」を参照してください。
    NS_PROTOCOLとNS_PORT オプション Citrix ADCと通信するためにCitrix ingress controller が使用する必要のあるプロトコルとポートを定義します。デフォルトでは、Citrix ingress controller はポート443でHTTPSを使用します。HTTP はポート 80 でも使用できます。
    ingress-classes オプション 複数のイングレス・ロード・バランサを使用して、異なるイングレス・リソースのロード・バランシングを行う場合。この環境変数を使用して、Citrix ingress controller を指定して、特定のイングレスクラスに関連付けられたCitrix ADCを構成できます。Ingress クラスの詳細については、「Ingress クラスのサポート」(/en-us/citrix-k8s-ingress-controller/configure/ingress-classes.html) を参照してください。
    NS_VIP オプション Citrix ingress controller は、この環境変数で指定されたIPアドレスを使用して、Ingressトラフィックを受信するCitrix ADCへの仮想IPアドレスを構成します。注: NS_VIP は、Ingress yaml で frontend-ip アノテーションが提供されていない場合のフォールバックとして機能します。Type Loadbalancer サービスではサポートされていません。
  3. 更新されたオールインワンデプロイマニフェストファイルをデプロイします。次のコマンドを使用します:

    kubectl create -f all-in-one-dual-tier-demo.yaml
    
二層展開のセットアップ方法