26.4. MetalLB BGP ピアの設定
クラスター管理者は、ボーダーゲートウェイプロトコル (BGP) ピアを追加、変更、および削除できます。MetalLB Operator は、BGP ピアカスタムリソースを使用して、MetalLB speaker
Pod が BGP セッションを開始するために接続するピアを識別します。ピアは、Metall B がサービスに割り当てるロードバランサー IP アドレスのルートアドバタイズメントを受信します。
26.4.1. BGP ピアカスタムリソースについて
次の表で、BGP ピアカスタムリソースのフィールドについて説明します。
フィールド | 型 | 説明 |
---|---|---|
|
| BGP ピアカスタムリソースの名前を指定します。 |
|
| BGP ピアカスタムリソースの namespace を指定します。 |
|
|
BGP セッションのローカルエンドの Autonomous System 番号を指定します。追加するすべての BGP ピアカスタムリソースに同じ値を指定します。範囲は |
|
|
BGP セッションのリモートエンドの Autonomous System 番号を指定します。範囲は |
|
| BGP セッションを確立するために接続するピアの IP アドレスを指定します。 |
|
| オプション: BGP セッションの確立時に使用する IP アドレスを指定します。値は IPv4 アドレスである必要があります。 |
|
|
オプション: BGP セッションを確立するために接続するピアのネットワークポートを指定します。範囲は |
|
|
オプション: BGP ピアに提案するホールドタイムの期間を指定します。最小値は 3 秒 ( |
|
|
オプション: キープアライブメッセージを BGP ピアに送信する間の最大間隔を指定します。このフィールドを指定する場合は、 |
|
| オプション: BGP ピアにアドバタイズするルーター ID を指定します。このフィールドを指定する場合は、追加するすべての BGP ピアカスタムリソースに同じ値を指定する必要があります。 |
|
| オプション: TCP MD5 認証が済んだ BGP セッションを実施するルーターのピアに送信する MD5 パスワードを指定します。 |
|
| オプション: BFD プロファイルの名前を指定します。 |
|
| オプション: 一致式と一致ラベルを使用してセレクターを指定し、BGP ピアに接続できるノードを制御します。 |
|
|
オプション: BGP ピアがネットワークホップ数回分を離れるように指定します。BGP ピアが同じネットワークに直接接続されていない場合には、このフィールドが |
26.4.2. BGP ピアの設定
クラスター管理者は、BGP ピアカスタムリソースを追加して、ネットワークルーターとルーティング情報を交換し、サービスの IP アドレスをアドバタイズできます。
前提条件
-
OpenShift CLI (
oc
) がインストールされている。 -
cluster-admin
権限を持つユーザーとしてログインしている。 -
spec.protocol
フィールドにbgp
を指定する MetalLB アドレスプールを設定します。
手順
次の例のようなコンテンツを含む
bgppeer.yaml
などのファイルを作成します。apiVersion: metallb.io/v1beta1 kind: BGPPeer metadata: namespace: metallb-system name: doc-example-peer spec: peerAddress: 10.0.0.1 peerASN: 64501 myASN: 64500 routerID: 10.10.10.10
BGP ピアの設定を適用します。
$ oc apply -f bgppeer.yaml
関連情報
- 例: BGP モードの単純なアドレスプール
-
spec.protocol
フィールドにbgp
を指定する MetalLB アドレスプールを設定します。
26.4.3. BGP ピア設定の例
26.4.3.1. 例: BGP ピアに接続するノードの制限
ノードセレクターフィールドを指定して、BGP ピアに接続できるノードを制御できます。
apiVersion: metallb.io/v1beta1 kind: BGPPeer metadata: name: doc-example-nodesel namespace: metallb-system spec: peerAddress: 10.0.20.1 peerASN: 64501 myASN: 64500 nodeSelectors: - matchExpressions: - key: kubernetes.io/hostname operator: In values: [compute-1.example.com, compute-2.example.com]
26.4.3.2. 例: BGP ピアの BFD プロファイル指定
BGP ピアに関連付ける BFD プロファイルを指定できます。BFD は、BGP のみの場合よりも、ピア間の通信障害をより迅速に検出して、BGP を補完します。
apiVersion: metallb.io/v1beta1 kind: BGPPeer metadata: name: doc-example-peer-bfd namespace: metallb-system spec: peerAddress: 10.0.20.1 peerASN: 64501 myASN: 64500 holdTime: "10s" bfdProfile: doc-example-bfd-profile-full
双方向転送検出 (BFD) プロファイルを削除し、ボーダーゲートウェイプロトコル (BGP) ピアリソースに追加された bfdProfile
を削除しても、BFD は無効になりません。代わりに、BGP ピアはデフォルトの BFD プロファイルの使用を開始します。BGP ピアリソースから BFD をディセーブルにするには、BGP ピア設定を削除し、BFD プロファイルなしで再作成します。詳細は、BZ#2050824 を参照してください。
26.4.3.3. 例: デュアルスタックネットワーク用の BGP ピア指定
デュアルスタックネットワーキングをサポートするには、IPv4 用に BGP ピアカスタムリソース 1 つと IPv6 用に BGP ピアカスタムリソースを 1 つ追加します。
apiVersion: metallb.io/v1beta1 kind: BGPPeer metadata: name: doc-example-dual-stack-ipv4 namespace: metallb-system spec: peerAddress: 10.0.20.1 peerASN: 64500 myASN: 64500 --- apiVersion: metallb.io/v1beta1 kind: BGPPeer metadata: name: doc-example-dual-stack-ipv6 namespace: metallb-system spec: peerAddress: 2620:52:0:88::104 peerASN: 64500 myASN: 64500