Citrix による負荷分散

このページでは、GKE On-Prem クラスタに Citrix ロードバランサを構成する方法について説明します。

GKE On-Prem クラスタは、統合または手動のいずれかの負荷分散モードで実行できます。Citrix ロードバランサを使用するには、手動負荷分散モードを使用します。

Citrix Netscaler のバージョン

このトピックでは、バージョン 12.0 の Citrix NetScaler VPX 1000 モデルについての手順を説明します。

別のバージョンまたはモデルの Citrix ロードバランサを使用している場合は、ユーザー インターフェースが異なる可能性があります。

すべての手動負荷分散に共通の手順

Citrix ロードバランサを構成する前に、手動の負荷分散構成に共通する次の手順を行います。

Citrix ADC インスタンスの作成

Citrix Application Delivery Controller(ADC)を作成するには、次の手順を行います。

ネットワーク アダプタの追加

Citrix ADC VM にネットワーク アダプタが 1 つあり、アダプタは VM の管理 IP アドレスに関連付けられています。1 つまたは 2 つのネットワーク アダプタを Citrix ADC VM に追加する必要があるとします。

1 つの方法として、ワンアーム構成を作成することが考えられます。この構成方法では、Citrix ADC VM には、管理ネットワーク アダプタに加えて、ネットワーク アダプタが 1 つあります。追加のネットワーク アダプタの 1 つは、クラスタノードを持つサブネットに接続されます。このサブネット上の IP アドレスには、インターネットからアクセスできます。

もう 1 つ考えられる方法は、ツーアーム構成を作成することです。この構成方法では、Citrix ADC VM には、管理ネットワーク アダプタに加えて、ネットワーク アダプタが 2 つあります。追加のネットワーク アダプタの 1 つは、クラスタノードを持つプライベート サブネットに接続されます。もう 1 つのネットワーク アダプタは、外部からのリクエストを Citrix ロードバランサに送信するサブネットに接続されます。この場合のサブネットには、インターネットから直接アクセスできるサブネット、または踏み台サーバーによってインターネットから保護されたサブネットのいずれの場合も考えられます。

次の図に、ツーアーム構成の例を示します。

ツーアーム構成の図
ツーアーム構成(クリックして拡大)

Citrix ADC VM に 1 つまたは 2 つのネットワーク アダプタを追加するには、vSphere インターフェースを使用します。

  1. 左側のペインで、Citrix ADC VM を探します。

  2. Citrix ADC VM を右クリックし、[設定を編集] を選択します。

Citrix ADC VM 編集時のスクリーンショット
Citrix ADC のプロパティ編集(クリックして拡大)
  1. [New device] で、[Select] メニューを開き、[Network] を選択します。[Add] をクリックします。

  2. 左側のパネルで、[New Network] を展開します。[VM Network] で、新しいネットワーク アダプタを接続するサブネットを選択します。

  3. 必要に応じて、その他の設定を行い、[OK] をクリックします。

Terraform を使用して Citrix ADC を構成する

Citrix が提供する Terraform スクリプトを使用すると、最初のクラスタ設定用のサーバー、サービス グループ、仮想サーバーを備えた Citrix ADC を自動的に構成できます。

必要に応じて、手動の手順を行うこともできます。

サーバーの構成

クラスタノードに使用する IP アドレスのリストがすでに存在することを確認してください。このセクションでは、それらの各 IP アドレスを名前に関連付けます。

ブラウザで、Citrix VM の管理 IP アドレスを入力します。これにより、Citrix ロードバランサへのウェブ インターフェースが開きます。Citrix インターフェースでは、クラスタノードはサーバーと呼ばれます。

[Configuration] タブを開きます。

左側のペインで、[Traffic Management] > [Load Balancing] > [Servers] の順に選択します。

Citrix ユーザー インターフェースでのサーバー追加のスクリーンショット
Citrix ユーザー インターフェースでのサーバーの追加(クリックして拡大)

作成するそれぞれの管理クラスタノードとユーザー クラスタノードに対して、次の手順を実行します。

  1. メインペインで、[Add] をクリックします。

  2. ノードに名前と IP アドレスを入力します。

  3. [Create] をクリックします。

サービス グループの構成

Citrix インターフェースでは、サービス グループとは、プロトコルとポート番号を含む一連のサーバーです。次に例を示します。

({admin_node_1, admin_node_2, admin_node_3}, TCP, 30001)

このセクションでは、以下の各サービス グループを作成します。

  • 管理クラスタのコントロール プレーン
  • 管理クラスタのアドオン マネージャー
  • ユーザー クラスタのコントロール プレーン
  • ユーザー クラスタの HTTP Ingress コントローラ
  • ユーザー クラスタの HTTPS Ingress コントローラ

各サービス グループのプロトコルは TCP です。VIP は前に確保しておいたアドレスです。ポートは以前に設定した nodePort 値です。

たとえば、ユーザー クラスタノードの名前が次のとおりであるとします。

  • user_node_1
  • user_node_2
  • user_node_3

また、HTTP ユーザー クラスタの Ingress コントローラの VIP として、203.0.113.1 を使用することを選択したとします。また、HTTP ユーザー クラスタの Ingress コントローラの nodePort 値として、32001 を使用することを選択したとします。そして、次のサービス グループを作成するとします。

({user_node_1, user_node_2, user_node_3}, TCP, 32001)

Citrix ウェブ インターフェースでサービス グループを作成する手順は次のとおりです。

  1. 左側のペインで、[Traffic Management]、[Load Balancing]、[Service Groups] の順に選択します。
Citrix ユーザー インターフェースでのサービス グループの追加のスクリーンショット(クリックして拡大)
Citrix ユーザー インターフェースでのサービス グループの追加(クリックして拡大)
  1. メインペインで、[Add] をクリックします。

  2. サービス グループの名前を入力します。

  3. [Protocol] で、[TCP] を選択します。

  4. [OK] をクリックします。

  5. [Service Group Members] の下で、[No Service Group Member] というバーをクリックします。

  6. ページの上部で、[Server Based] を選択します。

  7. [Select Server] の下のボックスをクリックします。

  8. サーバー名のリストで、サービス グループに含めるサーバーを選択します。[Select] をクリックします。

  9. [Port] に、サービス グループの nodePort 値を入力します。

  10. [Hash Id] に、任意の数字を入力します。

上記の手順を 7 回繰り返して、このセクションの先頭に記載されている各コンポーネントのサービス グループを作成します。

仮想サーバーの構成

この時点で、7 つのサービス グループが作成されています。このセクションでは、各サービス グループを VIP、プロトコル、ポートに関連付けます。

たとえば、次のように仮定します。

  • ユーザー クラスタ HTTP Ingress コントローラのサービス グループの名前は user_http_ingress です。

  • ユーザー クラスタ HTTP Ingress コントローラの VIP として 203.0.113.1 を使用することを選択しました。また、ロードバランサが TCP ポート 80 でこの VIP に送信されるリクエストをリッスンするようにします。

  • ユーザー クラスタ HTTP Ingress コントローラの nodePort 値として、32001 を使用することを選択しました。

続いて、次の関連付けを作成します。

user_http_ingress --> (203.0.113.1, TCP, 80)

Citrix インターフェースでは、このタイプの関連付けは、仮想サーバーと呼ばれます。

Citrix ウェブ インターフェースで仮想サーバーを作成する方法は次のとおりです。

  1. 左側のペインで、[Traffic Management] > [Load Balancing] > [Virtual Servers] の順に選択します。
Citrix ユーザー インターフェースに仮想サーバーを追加するスクリーンショット(クリックして拡大)
Citrix ユーザー インターフェースでの仮想サーバーの追加(クリックして拡大)
  1. メインペインで、[Add] をクリックします。

  2. 仮想サーバーの名前を入力します。

  3. [Protocol] で、[TCP] を選択します。

  4. [IP Address] に、仮想サーバーの VIP を入力します。

  5. [Port] に、仮想サーバーの TCP ポートを入力します。ロードバランサは、この TCP ポートで VIP に送信されたリクエストをリッスンします。

  6. [Load Balancing Virtual Server] ページの [Services and Service Groups] で、[No Load Balancing Virtual Server Service Group Binding] をクリックします。

  7. [Select Service Group Name] で、ボックスをクリックします。

  8. 仮想サーバーに使用するサービス グループを選択します。

  9. ページの上部で、[Select] をクリックします。

  10. [Bind] をクリックします。

上記の手順を 7 回実行して、7 つのサービス グループのそれぞれに仮想サーバーを作成します。

構成の確認

VIP が Citrix ADC で構成されていることを確認するには、各 VIP に ping を実行します。

GKE On-Prem 構成ファイルの変更

GKE On-Prem をインストールする前に、GKE On-Prem 構成ファイルを変更し、静的 IP YAML ファイルも変更して、静的 IP アドレス、VIP、ノードポートの値を追加します。