GKE on VMware のロード バランシングの概要

このドキュメントでは、GKE on VMware でサポートされているロード バランシング オプションについて説明します。

2 種類のロード バランシング オプションを使用できます。ご使用の環境やニーズに最適なオプションを選択してください。たとえば、最小限の構成を必要とするオプションを選択することができます。あるいは、ネットワークにすでに存在するロードバランサに合わせたオプションを選択することもできます。

使用できるオプションは次のとおりです。

  • MetalLB バンドル

  • F5 BIG-IP Citrix などのサードパーティ ロードバランサの手動負荷分散

MetalLB

MetalLB ロードバランサは GKE on VMware にバンドルされており、特に構成が簡単です。MetalLB コンポーネントはクラスタノード上で実行されるため、ロードバランサ用に個別の VM を作成する必要はありません。

IP アドレス管理を行うように MetalLB を構成できます。つまり、デベロッパーが LoadBalancer タイプの Service を作成する場合に、デベロッパーが Service の VIP を指定する必要はありません。代わりに、MetaLB が事前に提供されたアドレスプールから VIP を自動的に選択します。

詳細については、MetalLB によるバンドルされたロード バランシングをご覧ください。

Citrix

ロードバランサを手動で設定する例として Citrix ロードバランサを設定する方法について解説しています。ロードバランサを手動で設定する場合は、VIP、ノードアドレス、nodePort 値の間のマッピングを構成する必要があります。Citrix ロードバランサでこれを行う方法については、Citrix での手動ロード バランシングをご覧ください。

一般的な手動ロード バランシング

手動で設定したロードバランサであれば、任意のものを使用できます。ロードバランサを手動で設定する場合は、VIP、ノードアドレス、nodePort 値の間のマッピングを構成する必要があります。これを行うための一般的情報については、手動ロード バランシングをご覧ください。

仮想 IP アドレスの確保

いずれのロードバランサを選択するかによらず、ロード バランシングに使用する仮想 IP アドレス(VIP)をいくつか確保する必要があります。

管理クラスタ用に、次の VIP を確保する必要があります。

  • Kubernetes API サーバーの VIP
  • アドオンの VIP

作成する各ユーザー クラスタ用に、次の VIP を確保する必要があります。

  • Kubernetes API サーバーの VIP
  • Ingress サービスの VIP

たとえば、2 つのユーザー クラスタを設定するとします。この場合、管理クラスタに 2 つの VIP が、各ユーザー クラスタに 2 つの VIP が必要になります。そのため、6 つの VIP を確保する必要があります。

ノード IP アドレス

ロードバランサとして MetalLB を選択した場合は、クラスタノードに静的 IP アドレスを使用するか、クラスタノードで DHCP サーバーから IP アドレスを取得することが可能です。

手動ロード バランシング オプションを選択する場合は、クラスタノードに静的 IP アドレスを使用する必要があります。

静的 IP アドレスを使用する場合は、管理クラスタ内のノードと、作成するすべてのユーザー クラスタのノードに十分なアドレスを確保する必要があります。確保するノード IP アドレスの数の詳細については、IP アドレスの計画をご覧ください。

クラスタで Service を作成する

ユーザー クラスタを実行したら、Kubernetes Service を作成し、外部クライアントに公開できます。

LoadBalancer タイプの Service では、VIP をロードバランサで構成する必要があります。VIP の構成方法は、ロードバランサの選択によって異なります。

MetalLB

ユーザー クラスタ構成ファイルで、MetalLB コントローラが Service に VIP を割り当てるために使用するアドレスプールを指定します。デベロッパーが LoadBalancer タイプの Service を作成すると、MetaLB コントローラがプールからアドレスを選択し、そのアドレスを Service に割り当てます。デベロッパーは Service マニフェストで loadBalancerIP の値を指定する必要はありません。

手動で構成したロードバランサ

手動によるロード バランシングのオプションを選択した場合、デベロッパーは次の手順に沿って Service を外部クライアントに公開できます。

  • NodePort 型の Service を作成します。

  • Service の VIP を選択します。

  • VIP に送信されたトラフィックが Service に転送されるように、ロードバランサを手動で構成します。