Skip to main content
日本語は機械翻訳による参考訳です。内容に矛盾や不一致があった場合には、英語の内容が優先されます。

MetalLBロードバランサーのインストール

共同作成者 kevin-hoke

このページでは、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 表記として提供することもできます。
  1. LoadBalancer タイプの Kubernetes サービスが作成されると、MetalLB はサービスに externalIP を自動的に割り当て、ARP 要求に応答して IP アドレスをアドバタイズします。