GKE On-Prem クラスタは、統合または手動のいずれかの負荷分散モードで実行できます。統合モードでは、GKE On-Prem クラスタは F5 BIG-IP ロードバランサを使用します。手動モードでは、GKE On-Prem は指定された別のロードバランサを使用します。手動負荷分散モードでは、統合モードよりも多くの構成を行う必要があります。
F5 BIG-IP ロードバランサを使用する場合は、ロードバランサの設定と管理に十分な権限を持つユーザーロールが必要です。管理者ロールまたはリソース管理者ロールのどちらかで十分です。詳細については、F5 BIG-IP アカウントの権限をご覧ください。
このトピックでは、後で使用する IP アドレスと nodePort
値の確保について説明します。負荷分散とクラスタノードに使用する IP アドレスと nodePort
値を選択します。ただし、この時点では、これらのアドレスと nodePort
値は使用しません。後で GKE On-Prem をインストールする準備ができたら、アドレスと nodePort
値をクラスタ構成ファイルに入力する必要があります。
仮想 IP アドレスを確保する
統合モードと手動モードのどちらを使用する場合でも、負荷分散に使用する仮想 IP アドレス(VIP)をいくつか確保する必要があります。統合モードでは、クラスタ構成ファイルでこれらの VIP を指定します。GKE On-Prem は VIP を使用するように F5 BIG-IP ロードバランサを自動的に構成します。手動モードでは、VIP を使用するようにロードバランサを手動で構成する必要があります。
管理クラスタ用に、次の VIP を確保する必要があります。
- Kubernetes API サーバーの VIP
- Ingress サービスの VIP
作成する各ユーザー クラスタ用に、次の VIP を確保する必要があります。
- Kubernetes API サーバーの VIP
- Ingress サービスの VIP
管理クラスタでアドオンを使用する場合は、管理クラスタでアドオン サービスの VIP を確保する必要があります。
アドオンを使用するユーザー クラスタごとに、そのユーザー クラスタ内のアドオン サービス用の VIP を確保する必要があります。
たとえば、2 つのユーザー クラスタを作成し、すべてのクラスタでアドオンを使用するとします。この場合、管理クラスタに 3 つの VIP、各ユーザー クラスタに 3 つの VIP が必要になります。そのため、9 つの VIP を確保する必要があります。
ノード IP アドレスの確保
統合モードでは、既存の動的ホスト構成プロトコル(DHCP)サーバーを使用してクラスタノードの IP アドレスを指定することも、ノードの静的 IP アドレスを指定することもできます。手動モードの場合、DHCP は使用できません。ノードの静的 IP アドレスを指定する必要があります。
静的 IP アドレスを使用する場合は、管理クラスタ内のノードと、作成するすべてのユーザー クラスタのノードに十分なアドレスを確保する必要があります。確保するノード IP アドレスの数については、静的 IP の構成をご覧ください。
nodePort
値を確保する
GKE On-Prem クラスタでは、Kubernetes API サーバー、Ingress サービス、アドオン サービスは NodePort
型の Kubernetes Services として実装されます。統合負荷分散モードでは、GKE On-Prem はこの Service の nodePort
値を自動的に選択します。手動負荷分散モードでは、この Service に使用する nodePort
値を指定する必要があります。詳細については、nodePort
値を確保するをご覧ください。
ロードバランサを構成する
統合負荷分散モードでは、GKE On-Prem はクラスタ構成ファイルで指定した VIP を使用して F5 BIG-IP ロードバランサを自動的に構成します。手動モードでは、選択した VIP でロードバランサを構成する必要があります。ロードバランサの構成方法は、使用するロードバランサによって異なります。詳細については、手動負荷分散を有効にするをご覧ください。
負荷分散の準備の概要
次の表に、統合モードと手動モードで負荷分散を準備するために必要な作業をまとめます。
統合モード | 手動モード | |
---|---|---|
クラスタを作成する前に VIP を選択する。 | ○ | ○ |
クラスタを作成する前にノード IP アドレスを選択する。 | ×(DHCP を使用する場合) ○(静的 IP アドレスを使用する場合) | ○ |
クラスタを作成する前に nodePort 値を選択する。 | × | ○ |
ロードバランサを手動で構成する。 | × | ○ |
クラスタで Service を作成する
ユーザー クラスタを実行したら、Kubernetes Services を作成し、外部クライアントに公開します。
統合負荷分散と手動負荷分散のどちらを使用するかによらず、Ingress オブジェクトを使用して、Service を外部クライアントに公開できます。
統合負荷分散モードでは、LoadBalancer
型の Service を作成して、Service の VIP を指定できます。GKE On-Prem は、F5 BIG-IP ロードバランサの VIP を自動的に構成します。
手動負荷分散モードでは、LoadBalancer
型の Service を外部クライアントに公開することはできません。代わりに、次の手順を使用して外部クライアントに Service を公開できます。
NodePort 型の Service を作成します。
Service の VIP を選択します。
VIP に送信されたトラフィックが Service に転送されるように、手動でロードバランサを構成します。
次の表は、統合モードと手動モードで公開できる Service の種類をまとめたものです。
統合モード | 手動モード | |
---|---|---|
Ingress オブジェクトを使用して Service を外部クライアントに公開する。 | ○ | ○ |
ClusterIP 型の Service を内部クライアントに公開する。 | ○ | ○ |
NodePort 型の Service を外部クライアントに公開する。 | ○ | ○ |
LoadBalancer 型の Service を外部クライアントに公開する。 | ○ | × |
次のステップ
- 手動負荷分散の有効化
- GKE On-Prem 用 F5 BIG-IP ADC のインストール
- 手動負荷分散を使用した GKE On-Prem 用 F5 BIG-IP ADC のインストール
- Citrix による負荷分散