MetalLBロードバランサーのインストール
このページでは、MetalLB マネージド ロード バランサーのインストールおよび構成の手順について説明します。
MetalLBロードバランサのインストール
MetalLB ロード バランサは Anthos Clusters on VMware と完全に統合されており、1.11 リリース以降、管理者およびユーザーのクラスタ セットアップの一部として自動デプロイが実行されます。それぞれのテキストブロックがあります `cluster.yaml`ロードバランサー情報を提供するために変更する必要がある構成ファイル。サポートされている他のロードバランサ ソリューションのように外部リソースのデプロイメントを必要とせず、Anthos クラスタ上でセルフホストされます。また、クラウド プロバイダーで実行されていないクラスターでロード バランサー タイプの Kubernetes サービスを作成するときに、アドレスを自動的に割り当てる IP プールを作成することもできます。
Anthosとの統合
Anthos管理者のMetalLBロードバランサを有効にする場合は、 `loadBalancer:`セクションが存在する `admin-cluster.yaml`ファイル。変更する必要がある値は、 `controlPlaneVIP:`アドレスを設定してから `kind:`MetalLB として。例については、次のコード スニペットを参照してください。
# (Required) Load balancer configuration loadBalancer: # (Required) The VIPs to use for load balancing vips: # Used to connect to the Kubernetes API controlPlaneVIP: "10.61.181.230" # # (Optional) Used for admin cluster addons (needed for multi cluster features). Must # # be the same across clusters # addonsVIP: "" # (Required) Which load balancer to use "F5BigIP" "Seesaw" "ManualLB" or "MetalLB". # Uncomment the corresponding field below to provide the detailed spec kind: MetalLB
AnthosユーザークラスタでMetalLBロードバランサを有効にすると、各クラスタに2つの領域があります。 user-cluster.yaml`更新する必要があるファイル。まず、 `admin-cluster.yaml`ファイルを変更するには、 `controlPlaneVIP:
、 ingressVIP:
、 そして `kind:`の価値観 `loadBalancer:`セクション。例については、次のコード スニペットを参照してください。
loadBalancer: # (Required) The VIPs to use for load balancing vips: # Used to connect to the Kubernetes API controlPlaneVIP: "10.61.181.240" # Shared by all services for ingress traffic ingressVIP: "10.61.181.244" # (Required) Which load balancer to use "F5BigIP" "Seesaw" "ManualLB" or "MetalLB". # Uncomment the corresponding field below to provide the detailed spec kind: MetalLB
|
ingressVIP IP アドレスは、構成の後半で MetalLB ロード バランサに割り当てられる IP アドレスのプール内に存在している必要があります。 |
次に、 `metalLB:`サブセクションを修正し、 `addressPools:`セクションでプールに名前を付けて `- name:`変数。また、MetalLBがLoadBalancerタイプのサービスに割り当てることができるIPアドレスのプールを作成する必要があります。 `addresses:`変数。
# # (Required when using "MetalLB" kind in user clusters) Specify the MetalLB config metalLB: # # (Required) A list of non-overlapping IP pools used by load balancer typed services. # # Must include ingressVIP of the cluster. addressPools: # # (Required) Name of the address pool - name: "default" # # (Required) The addresses that are part of this pool. Each address must be either # # in the CIDR form (1.2.3.0/24) or range form (1.2.3.1-1.2.3.5). addresses: - "10.61.181.244-10.61.181.249"
|
アドレス プールは、例のように範囲として提供して、特定のサブネット内のアドレスの数に制限することも、サブネット全体を利用できる場合は CIDR 表記として提供することもできます。 |
-
LoadBalancer タイプの Kubernetes サービスが作成されると、MetalLB はサービスに externalIP を自動的に割り当て、ARP 要求に応答して IP アドレスをアドバタイズします。