4.3.3. 指定されたアドレスプールに対して特定の BGP ピアセットを設定
特定の IP アドレスプールを指定された BGP ピアに割り当てるには、MetalLB BGP アドバタイズメントを設定します。これらのマッピングを確立することで、クラスターは指定されたネットワーク範囲を承認されたルーティングピアにのみ通知し、外部トラフィックを正確に制御できるようになります。
この手順では、以下のタスクについて説明します。
-
アドレスプールのセット (
pool1とpool2)を設定します。 -
BGP ピアのセット (
peer1とpeer2)を設定します。 -
pool1をpeer1に、pool2をpeer2に割り当てるように BGP アドバタイズメントを設定します。
前提条件
-
OpenShift CLI (
oc) がインストールされている。 -
cluster-admin権限を持つユーザーとしてログインしている。
手順
アドレスプール
pool1を作成します。以下の例のような内容で、
ipaddresspool1.yamlなどのファイルを作成します。apiVersion: metallb.io/v1beta1 kind: IPAddressPool metadata: namespace: metallb-system name: pool1 spec: addresses: - 4.4.4.100-4.4.4.200 - 2001:100:4::200-2001:100:4::400 # ...IP アドレスプール
pool1の設定を適用します。$ oc apply -f ipaddresspool1.yaml
アドレスプール
pool2を作成します。以下の例のような内容で、
ipaddresspool2.yamlなどのファイルを作成します。apiVersion: metallb.io/v1beta1 kind: IPAddressPool metadata: namespace: metallb-system name: pool2 spec: addresses: - 5.5.5.100-5.5.5.200 - 2001:100:5::200-2001:100:5::400 # ...IP アドレスプール
pool2の設定を適用します。$ oc apply -f ipaddresspool2.yaml
BGP
peer1を作成します。以下の例のような内容で、
bgppeer1.yamlなどのファイルを作成します。apiVersion: metallb.io/v1beta2 kind: BGPPeer metadata: namespace: metallb-system name: peer1 spec: peerAddress: 10.0.0.1 peerASN: 64501 myASN: 64500 routerID: 10.10.10.10 # ...BGP
ピア 1の設定を適用します。$ oc apply -f bgppeer1.yaml
BGP
peer2を作成します。以下の例のような内容で、
bgppeer2.yamlなどのファイルを作成します。apiVersion: metallb.io/v1beta2 kind: BGPPeer metadata: namespace: metallb-system name: peer2 spec: peerAddress: 10.0.0.2 peerASN: 64501 myASN: 64500 routerID: 10.10.10.10 # ...BGP
peer2の設定を適用します。$ oc apply -f bgppeer2.yaml
BGP advertisement 1 を作成します。
以下の例のような内容で、
bgpadvertisement1.yamlなどのファイルを作成します。apiVersion: metallb.io/v1beta1 kind: BGPAdvertisement metadata: name: bgpadvertisement-1 namespace: metallb-system spec: ipAddressPools: - pool1 peers: - peer1 communities: - 65535:65282 aggregationLength: 32 aggregationLengthV6: 128 localPref: 100 # ...設定を適用します。
$ oc apply -f bgpadvertisement1.yaml
BGP advertisement 2 を作成します。
以下の例のような内容で、
bgpadvertisement2.yamlなどのファイルを作成します。apiVersion: metallb.io/v1beta1 kind: BGPAdvertisement metadata: name: bgpadvertisement-2 namespace: metallb-system spec: ipAddressPools: - pool2 peers: - peer2 communities: - 65535:65282 aggregationLength: 32 aggregationLengthV6: 128 localPref: 100 # ...設定を適用します。
$ oc apply -f bgpadvertisement2.yaml