手動負荷分散モードの有効化

Anthos clusters on VMware(GKE On-Prem)は、3 つの負荷分散モード(統合、バンドル、手動)のいずれかを使用した動作が可能です。統合モードでは、Anthos clusters on VMware は F5 BIG-IP ロードバランサを使用します。バンドルモードでは、Anthos clusters on VMware がロードバランサを提供し、管理します。ロードバランサにライセンスを割り当てる必要はありません。必要なセットアップ作業は最小限に抑えられます。手動モードでは、Anthos clusters on VMware は、自分で選択する別のロードバランサを使用します。手動負荷分散モードでは、統合モードよりも多くの構成を行う必要があります。このページでは、手動負荷分散モードを使用する場合に必要な手順について説明します。

手動負荷分散モードで使用できるロードバランサには Citrix ロードバランサなどがあります。

このトピックでは、後で使用するために IP アドレスと nodePort 値を確保します。負荷分散とクラスタノードに使用する IP アドレスと nodePort 値の選択について説明します。ただし、この時点ではアドレスと nodePort 値に関することは何も行いません。後で、クラスタを作成する準備ができたら、管理クラスタの構成ファイルユーザー クラスタ構成ファイルに入力するアドレスと nodePort 値が必要です。ロードバランサを手動で構成するときにも、アドレスと nodePort 値が必要になります。

ノード IP アドレスの確保

手動負荷分散モードでは、DHCP を使用できません。クラスタノードの静的 IP アドレスを指定する必要があります。管理クラスタ内のノードと、作成するすべてのユーザー クラスタ内のノードに十分なアドレスを確保する必要があります。確保するノード IP アドレスの数の詳細については、管理クラスタの作成ユーザー クラスタの作成をご覧ください。

仮想 IP アドレスの確保

統合、バンドル、手動のいずれの負荷分散モードを使用するかに関係なく、負荷分散に使用する複数の仮想 IP アドレス(VIP)を確保する必要があります。この VIP により、外部クライアントは Kubernetes API サーバー、Ingress Service、ログ統合用のアドオン サービスにアクセスできます。

次の VIP を確保します。

  • 管理クラスタの Kubernetes API サーバーの VIP。管理クラスタの構成ファイルでは、これを controlPlaneVIP と呼びます。

  • 管理クラスタで実行されるログ集計用のアドオン サービスの VIP。管理クラスタの構成ファイルでは、これを addonsVIP とします。

  • 作成する各ユーザー クラスタの Kubernetes API サーバー用の VIP。ユーザー クラスタの構成ファイルでは、これを controlPlaneVIP と呼びます。

  • 作成する各ユーザー クラスタの Ingress サービスの VIP。ユーザー クラスタの構成ファイルでは、これを ingressVIP と呼びます。

nodePort 値を確保する

Anthos clusters on VMware では、Kubernetes API サーバー、Ingress サービス、ログ集計用のアドオン サービスが Kubernetes Services によって公開されます。手動負荷分散モードを使用する場合は、これらの Service で独自の nodePort 値を選択する必要があります。30000~32767 の範囲で値を選択します。nodePort 値を選択したら、後でクラスタ構成ファイルに入力する際のためにその値を確保します。

次の nodePort 値を選択して確保します。

  • 管理クラスタの Kubernetes API サーバー用に確保した VIP ごとに、1 つの nodePort 値を確保します。

  • アドオン サービス用に確保した VIP ごとに、1 つの nodePort 値を確保します。

  • ユーザー クラスタの Kubernetes API サーバー用に確保した VIP ごとに、1 つの nodePort 値を確保します。

  • ユーザー クラスタの Ingress サービス用に確保した VIP ごとに、HTTP トラフィック用に 1 つ、HTTPS トラフィック用に 1 つ、合計 2 つの nodePort 値を確保します。

たとえば、1 つの管理クラスタと 2 つのユーザー クラスタがあるとします。次の nodePort 値を選択して確保する必要があります。

  • 管理クラスタの Kubernetes API サーバーの nodePort 値。

  • 管理クラスタ内のアドオン サービスの nodePort 値。

  • 2 つの各ユーザー クラスタについての、Kubernetes API サーバーの nodePort 値。

  • 2 つの各ユーザー クラスタについての、Ingress サービスへの HTTP トラフィックの nodePort 値。

  • 2 つの各ユーザー クラスタについての、Ingress サービスへの HTTPS トラフィックの nodePort 値。

上記の例では、8 個の nodePort 値を確保する必要があります。

クラスタ構成ファイルへの入力

管理クラスタの構成ファイルと、各ユーザー クラスタの構成ファイルを準備します。

各クラスタ構成ファイルで、次のように設定します。

  • loadBalancer.kindManualLB に設定する。

  • network.ipModestatic に設定する。

  • network.ipBlockFilePath をクラスタの IP ブロック ファイルのパスに設定します。

  • loadBalancer.manualLB セクションを、クラスタに選択した nodePort 値で更新します。

次の例は、ユーザー クラスタの構成ファイルの一部を示しています。

network:
  ipMode:
    type: static
    ipBlockFilePath: "ipblock1.yaml"
loadBalancer:
  kind: ManualLB
  manualLB:
    ingressHTTPNodePort: 30243
    ingressHTTPSNodePort: 30879
    controlPlaneNodePort: 30562:

ロードバランサの構成

管理クラスタ

管理クラスタの構成ファイルでは、以下のように入力します。

  • loadBalancer.vips.controlPlaneVIP
  • loadBalancer.vips.addonsVIP
  • loadBalancer.manualLB.controlPlaneNodePort
  • loadBalancer.manualLB.addonsNodePort
  • network.ipMode.ipBlockFilePath

管理クラスタの IP ブロック ファイルで、管理クラスタノードに使用する静的 IP アドレスのリストに入力します。

ロードバランサの管理コンソールまたはツールを使用して、ロードバランサで次のマッピングを構成します。これを行う方法はロードバランサによって異なります。

  • controlPlaneVIP:443)->(NODE_IP_ADDRESSES:controlPlaneNodePort

  • addonsVIP:8443)->(NODE_IP_ADDRESSES:addonsNodewPort

ユーザー クラスタ

ユーザー クラスタの構成ファイルでは、次のように入力します。

  • loadBalancer.vips.controlPlaneVIP
  • loadBalancer.vips.ingressVIP
  • loadBalancer.manualLB.controlPlaneNodePort
  • loadBalancer.manualLB.ingressHTTPNodePort
  • loadBalancer.manualLB.ingressHTTPSNodePort
  • network.ipMode.ipBlockFilePath

ユーザー クラスタの IP ブロック ファイルで、ユーザー クラスタノードに使用する静的 IP アドレスのリストを入力します。

ロードバランサの管理コンソールまたはツールを使用して、ロードバランサで次のマッピングを構成します。これを行う方法はロードバランサによって異なります。

  • controlPlaneVIP:443)->(NODE_IP_ADDRESSES:controlPlaneNodePort

  • ingressVIP:80)->(NODE_IP_ADDRESSES:ingressHTTPNodePort

  • ingressVIP:443)->(NODE_IP_ADDRESSES:ingressHTTPSNodePort

手動負荷分散のサポートを取得する

Google では、手動負荷分散モードを使用して構成されたロードバランサはサポートされません。ロードバランサに問題が発生した場合は、ロードバランサのベンダーにお問い合わせください。

次のステップ