4.8.2. FRRConfiguration CRD の設定
MetalLB の標準機能を超えてルーティング動作をカスタマイズするには、FRRConfiguration カスタムリソース (CR) を設定します。
以下の参考例は、受信ルートなどの高度なサービスを有効にするために、特定の FRRouting (FRR) パラメーターを定義する方法を示しています。
ルーターパラメーター-
routersパラメーターを使用すると、Virtual Routing and Forwarding (VRF) リソースごとに 1 つのルーターを設定して、複数のルーターを設定することができます。各ルーターに AS 番号 (ASN) を定義する必要があります。
次の例のように、接続する Border Gateway Protocol (BGP) の近隣のリストを定義することもできます。
FRRConfiguration CR の例
apiVersion: frrk8s.metallb.io/v1beta1
kind: FRRConfiguration
metadata:
name: test
namespace: frr-k8s-system
spec:
bgp:
routers:
- asn: 64512
neighbors:
- address: 172.30.0.3
asn: 4200000000
ebgpMultiHop: true
port: 180
- address: 172.18.0.6
asn: 4200000000
port: 179
# ...
toAdvertiseパラメーター-
デフォルトでは、
FRR-K8sはルーター設定の一部として設定された接頭辞をアドバタイズしません。プレフィックスを通知するには、toAdvertiseパラメーターを使用します。
次の例のように、接頭辞のサブセットをアドバタイズできます。
FRRConfiguration CR の例
apiVersion: frrk8s.metallb.io/v1beta1
kind: FRRConfiguration
metadata:
name: test
namespace: frr-k8s-system
spec:
bgp:
routers:
- asn: 64512
neighbors:
- address: 172.30.0.3
asn: 4200000000
ebgpMultiHop: true
port: 180
toAdvertise:
allowed:
prefixes:
- 192.168.2.0/24
prefixes:
- 192.168.2.0/24
- 192.169.2.0/24
# ...
-
allowed.prefixes: プレフィックスのサブセットを通知します。
次の例は、すべての接頭辞をアドバタイズする方法を示しています。
FRRConfiguration CR の例
apiVersion: frrk8s.metallb.io/v1beta1
kind: FRRConfiguration
metadata:
name: test
namespace: frr-k8s-system
spec:
bgp:
routers:
- asn: 64512
neighbors:
- address: 172.30.0.3
asn: 4200000000
ebgpMultiHop: true
port: 180
toAdvertise:
allowed:
mode: all
prefixes:
- 192.168.2.0/24
- 192.169.2.0/24
# ...
allowed.mode: すべてのプレフィックスを通知します。toReceiveパラメーター-
デフォルトでは、
FRR-K8sは近隣によってアドバタイズされた接頭辞を処理しません。このようなアドレスを処理するには、toReceiveパラメーターを使用できます。
次の例のように、接頭辞のサブセットを設定できます。
FRRConfiguration CR の例
apiVersion: frrk8s.metallb.io/v1beta1
kind: FRRConfiguration
metadata:
name: test
namespace: frr-k8s-system
spec:
bgp:
routers:
- asn: 64512
neighbors:
- address: 172.18.0.5
asn: 64512
port: 179
toReceive:
allowed:
prefixes:
- prefix: 192.168.1.0/24
- prefix: 192.169.2.0/24
ge: 25
le: 28
# ...
-
接頭辞: 接頭辞の長さがle接頭辞の長さ以下で、ge接頭辞の長さ以上の場合、接頭辞が適用されます。
次の例では、アナウンスされたすべての接頭辞を処理するように FRR を設定します。
FRRConfiguration CR の例
apiVersion: frrk8s.metallb.io/v1beta1
kind: FRRConfiguration
metadata:
name: test
namespace: frr-k8s-system
spec:
bgp:
routers:
- asn: 64512
neighbors:
- address: 172.18.0.5
asn: 64512
port: 179
toReceive:
allowed:
mode: all
# ...
bgpパラメーター-
bgpパラメーターを使用すると、さまざまなBFDプロファイルを定義し、それらをネイバーに関連付けることができます。次の例では、BFDは、BGPセッションをバックアップし、FRRはリンク障害を検出できます。
FRRConfiguration CR の例
apiVersion: frrk8s.metallb.io/v1beta1
kind: FRRConfiguration
metadata:
name: test
namespace: frr-k8s-system
spec:
bgp:
routers:
- asn: 64512
neighbors:
- address: 172.30.0.3
asn: 64512
port: 180
bfdProfile: defaultprofile
bfdProfiles:
- name: defaultprofile
# ...
nodeSelectorパラメーター-
デフォルトでは、
FRR-K8sは、デーモンが実行されているすべてのノードに設定を適用します。nodeSelectorパラメーターを使用すると、設定を適用するノードを指定できます。以下に例を示します。
FRRConfiguration CR の例
apiVersion: frrk8s.metallb.io/v1beta1
kind: FRRConfiguration
metadata:
name: test
namespace: frr-k8s-system
spec:
bgp:
routers:
- asn: 64512
nodeSelector:
labelSelector:
foo: "bar"
# ...
インターフェイスパラメーター-
インターフェイスパラメーターを使用すると、以下の設定例のように、番号なし BGP ピアリングを設定できます。
FRRConfiguration CR の例
apiVersion: frrk8s.metallb.io/v1beta1
kind: FRRConfiguration
metadata:
name: test
namespace: frr-k8s-system
spec:
bgp:
bfdProfiles:
- echoMode: false
name: simple
passiveMode: false
routers:
- asn: 64512
neighbors:
- asn: 64512
bfdProfile: simple
disableMP: false
interface: net10
port: 179
toAdvertise:
allowed:
mode: filtered
prefixes:
- 5.5.5.5/32
toReceive:
allowed:
mode: filtered
prefixes:
- 5.5.5.5/32
# ...
-
neighbors.interface: 番号なしの BGP ピアリングを有効にします。
インターフェイス パラメーターを使用するには、2 つの BGP ピア間でポイントツーポイントのレイヤ 2 接続を確立する必要があります。番号なし BGP ピアリングは、IPv4、IPv6、またはデュアルスタックで使用できますが、IPv6 RA (ルーターアドバタイズメント) を有効にする必要があります。各インターフェイスは 1 つの BGP 接続に制限されます。
このパラメーターを使用する場合、spec.bgp.routers.neighbors.address パラメーターに値を指定することはできません。
FRRConfiguration カスタムリソースのパラメーターは、次の表に記載されています。
| パラメーター | 型 | 説明 |
|---|---|---|
|
|
| FRR が設定するルーターを指定します (VRF ごとに 1 つ)。 |
|
|
| セッションのローカル側で使用する AS 番号 (ASN)。 |
|
|
|
|
|
|
| このルーターからセッションを確立するために使用するホスト VRF を指定します。 |
|
|
| BGP セッションを確立する近隣を指定します。 |
|
|
|
セッションのリモート終了に使用する ASN を指定します。このパラメーターを使用する場合、 |
|
|
|
明示的に設定せずに、セッションのリモートエンドに使用する ASN を検出します。同じ ASN を持つネイバーの場合は |
|
|
|
セッションを確立する IP アドレスを指定します。このパラメーターを使用する場合、 |
|
|
| セッションを確立するときに使用するインターフェイス名を指定します。このパラメーターを使用して、番号なし BGP ピアリングを設定します。2 つの BGP ピア間には、ポイントツーポイントのレイヤー 2 接続が必要です。番号なし BGP ピアリングは、IPv4、IPv6、またはデュアルスタックで使用できますが、IPv6 RA (ルーターアドバタイズメント) を有効にする必要があります。各インターフェイスは 1 つの BGP 接続に制限されます。 |
|
|
|
セッションを確立するときにダイアリングするポートを指定します。デフォルト値は |
|
|
|
BGP セッションの確立に使用するパスワードを指定します。 |
|
|
|
ネイバーの認証シークレットの名前を指定します。シークレットは "kubernetes.io/basic-auth" タイプであり、FRR-K8s デーモンと同じ namespace にある必要があります。キー "password" はパスワードをシークレットに保存します。 |
|
|
| RFC4271 に従って、要求された BGP ホールド時間を指定します。デフォルトは 180s です。 |
|
|
|
RFC4271 に従って、要求された BGP キープアライブ時間を指定します。デフォルトは |
|
|
| BGP が近隣に次に接続を試行するまで待機する時間を指定します。 |
|
|
| BGP ピアが複数ホップ離れているかどうかを示します。 |
|
|
| BGP セッションに関連付けられた BFD セッションに使用する BFD プロファイルの名前を指定します。設定されていない場合、BFD セッションは設定されません。 |
|
|
| 近隣にアドバタイズする接頭辞のリストと、関連するプロパティーを表します。 |
|
|
| 近隣にアドバタイズする接頭辞のリストを指定します。このリストは、ルーターで定義した接頭辞と一致する必要があります。 |
|
|
|
接頭辞を処理するときに使用するモードを指定します。接頭辞リスト内の接頭辞のみを許可するように |
|
|
| アドバタイズされたローカルプリファレンスに関連付けられた接頭辞を指定します。ローカル設定に関連付けられた接頭辞を、アドバタイズが許可される接頭辞に指定する必要があります。 |
|
|
| ローカル設定に関連付けられた接頭辞を指定します。 |
|
|
| 接頭辞に関連付けられたローカル設定を指定します。 |
|
|
| アドバタイズされた BGP コミュニティーに関連付けられた接頭辞を指定します。アドバタイズする接頭辞のリストに、ローカル設定に関連付けられた接頭辞を含める必要があります。 |
|
|
| コミュニティーに関連付けられた接頭辞を指定します。 |
|
|
| 接頭辞に関連付けられたコミュニティーを指定します。 |
|
|
| 近隣から受信する接頭辞を指定します。 |
|
|
| 近隣から受信する情報を指定します。 |
|
|
| 近隣から許可される接頭辞を指定します。 |
|
|
|
接頭辞を処理するときに使用するモードを指定します。 |
|
|
| MP BGP を無効にして、IPv4 と IPv6 のルート交換を別々の BGP セッションに分離しないようにします。 |
|
|
| このルーターインスタンスからアドバタイズするすべての接頭辞を指定します。 |
|
|
| ネイバーを設定する際に使用する BFD プロファイルのリストを指定します。 |
|
|
| 設定の他の部分で参照される BFD プロファイルの名前。 |
|
|
|
このシステムが制御パケットを受信できる最小間隔をミリ秒単位で指定します。デフォルトは |
|
|
|
このシステムが BFD 制御パケットを送信するために使用する、ジッターを除いた最小送信間隔をミリ秒単位で指定します。デフォルトは |
|
|
| パケット損失を判定するための検出乗数を設定します。接続損失検出タイマーを決定するには、リモート送信間隔にこの値を乗算します。 |
|
|
|
このシステムが処理できる最小のエコー受信送信間隔をミリ秒単位で設定します。デフォルトは |
|
|
| エコー送信モードを有効または無効にします。このモードはデフォルトで無効になっており、マルチホップ設定ではサポートされていません。 |
|
|
| セッションを passive としてマークします。passive セッションでは接続を開始せず、応答を開始する前にピアからの制御パケットを待機します。 |
|
|
| マルチホップセッションのみ。着信 BFD 制御パケットの最小予想 TTL を設定します。 |
|
|
| この設定の適用を試みるノードを制限します。指定した場合、指定されたセレクターに一致するラベルが割り当てられたノードのみが設定の適用を試みます。指定されていない場合は、すべてのノードがこの設定を適用しようとします。 |
|
|
| FRRConfiguration の監視状態を定義します。 |