4.3.6. BGP ピア設定の例
ネットワークトポロジーを正確に管理し、ルーティングの耐障害性を向上させるには、ノードの接続性を制限し、BFD プロファイルを組み込んだ MetalLB BGP ピア設定を設定します。これらのパラメーターを定義することで、クラスターが安全なピア関係を維持し、パス障害を迅速に検出して高いサービス可用性を確保できます。
- BGP ピアに接続するノードを制限する例
-
nodeSelectorsパラメーターを指定することで、どのノードが BGP ピアに接続できるかを制御できます。
apiVersion: metallb.io/v1beta2
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]
# ...
- BGP ピアの BFD プロファイルを指定する例
- BGP ピアに関連付ける BFD プロファイルを指定できます。BFD は BGP を補完する技術であり、BGP 単独よりもピア間の通信障害をより迅速に検出できる。
apiVersion: metallb.io/v1beta2
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 を参照してください。
- デュアルスタックネットワークにおける BGP ピアの指定例
- デュアルスタックネットワーキングをサポートするには、IPv4 用に BGP ピアカスタムリソース 1 つと IPv6 用に BGP ピアカスタムリソースを 1 つ追加します。
apiVersion: metallb.io/v1beta2
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/v1beta2
kind: BGPPeer
metadata:
name: doc-example-dual-stack-ipv6
namespace: metallb-system
spec:
peerAddress: 2620:52:0:88::104
peerASN: 64500
myASN: 64500
# ...
- 番号なし BGP ピアリングにおける BGP ピアの指定例
-
番号なし BGP ピアリングを設定するには、以下の設定例を使用して、
spec.interfaceパラメーターでインターフェイスを指定します。
apiVersion: metallb.io/v1beta2
kind: BGPPeer
metadata:
name: peer-unnumber
namespace: metallb-system
spec:
myASN: 64512
ASN: 645000
interface: net0
# ...
インターフェイス パラメーターを使用するには、2 つの BGP ピア間でポイントツーポイントのレイヤ 2 接続を確立する必要があります。番号なし BGP ピアリングは、IPv4、IPv6、またはデュアルスタックで使用できますが、IPv6 ルーターアドバタイズメント (RA) を有効にする必要があります。各インターフェイスは 1 つの BGP 接続に制限されます。
このパラメーターを使用する場合、spec.bgp.routers.neighbors.address パラメーターに値を指定することはできません。