4.2.3. BGP アドバタイズメントと高度なユースケースを使用する MetalLB の設定


MetalLB を設定して、MetalLB がロードバランサーサービスに 203.0.113.200 から 203.0.113.203 の範囲、および fc00:f853:ccd:e799::0 から fc00:f853:ccd:e799::f の 範囲の IP アドレスを割り当てるようにします。

MetalLB が 203.0.113.200 の IP アドレスをサービスに割り当てる例を見ていき、これら 2 つの BGP アドバタイズメントを説明します。その IP アドレスを例にとると、スピーカーは BGP ピアに対して以下の 2 つのルートをアドバタイズします。

  • localPref100 に、コミュニティーが NO_ADVERTISE コミュニティーの数値に設定されている 203.0.113.200/32。この仕様は、ピアルーターにこのルートを使用できることを指定していますが、このルートに関する情報を BGP ピアに伝播しないようにします。
  • MetalLB で割り当てられたロードバランサーの IP アドレスを 1 つのルートに集約する 203.0.113.200/30。MetalLB は、コミュニティー属性が 8000:800 に設定された BGP ピアに集約ルートをアドバタイズします。BGP ピアは、203.0.113.200/30 ルートを他の BGP ピアに伝播します。トラフィックが speaker のあるノードにルーティングされる場合には、203.0.113.200/32 ルートを使用して、トラフィックがクラスターに転送され、サービスに関連付けられている Pod に転送されます。

サービスを追加し、MetalLB がプールからロードバランサーの IP アドレスをより多く割り当てると、ピアルーターは各サービスに対して 1 つのローカルルート (203.0.113.20x/32) と、集約ルート (203.0.113.200/30) を受け取ります。追加する各サービスは /30 ルートを生成しますが、MetalLB は、ピアルーターと通信する前に、ルートの重複を排除して 1 つの BGP アドバタイズにします。

4.2.3.1. BGP を使用した高度なアドレスプール設定のアドバタイズ

MetalLB が BGP を使用して高度なアドレスプールをアドバタイズするように設定します。

前提条件

  • OpenShift CLI (oc) がインストールされている。
  • cluster-admin 権限を持つユーザーとしてログインしている。

手順

  1. IP アドレスプールを作成します。

    1. 以下の例のような内容で、ipaddresspool.yaml などのファイルを作成します。

      apiVersion: metallb.io/v1beta1
      kind: IPAddressPool
      metadata:
        namespace: metallb-system
        name: doc-example-bgp-adv
        labels:
          zone: east
      spec:
        addresses:
          - 203.0.113.200/30
          - fc00:f853:ccd:e799::/124
        autoAssign: false
      # ...
    2. IP アドレスプールの設定を適用します。

      $ oc apply -f ipaddresspool.yaml
  2. BGP アドバタイズメントを作成します。

    1. 以下の例のような内容で、bgpadvertisement1.yaml などのファイルを作成します。

      apiVersion: metallb.io/v1beta1
      kind: BGPAdvertisement
      metadata:
        name: bgpadvertisement-adv-1
        namespace: metallb-system
      spec:
        ipAddressPools:
          - doc-example-bgp-adv
        communities:
          - 65535:65282
        aggregationLength: 32
        localPref: 100
      # ...
    2. 設定を適用します。

      $ oc apply -f bgpadvertisement1.yaml
    3. 以下の例のような内容で、bgpadvertisement2.yaml などのファイルを作成します。

      apiVersion: metallb.io/v1beta1
      kind: BGPAdvertisement
      metadata:
        name: bgpadvertisement-adv-2
        namespace: metallb-system
      spec:
        ipAddressPools:
          - doc-example-bgp-adv
        communities:
          - 8000:800
        aggregationLength: 30
        aggregationLengthV6: 124
      # ...
    4. 設定を適用します。

      $ oc apply -f bgpadvertisement2.yaml
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

Red Hat ドキュメントについて

Legal Notice

Theme

© 2026 Red Hat
トップに戻る