4.2.8. 選択したインターフェイスの L2 アドバタイズを使用した MetalLB の設定
デフォルトでは、サービスに割り当てられた IP アドレスプールの IP アドレスが、すべてのネットワークインターフェイスからアドバタイズされます。L2Advertisement カスタムリソース定義の interfaces フィールドを使用すると、IP アドレスプールをアドバタイズするネットワークインターフェイスを制限できます。
手順書の例では、MetalLB を設定して、すべてのノードの interfaces パラメーターにリストされているネットワークインターフェイスからのみ IP アドレスプールをアドバタイズする方法を示しています。
前提条件
-
OpenShift CLI (
oc) がインストールされている。 -
cluster-admin権限を持つユーザーとしてログインしている。
手順
IP アドレスプールを作成します。
ipaddresspool.yamlなどのファイルを作成し、次の例に示すように設定の詳細を入力します。apiVersion: metallb.io/v1beta1 kind: IPAddressPool metadata: namespace: metallb-system name: doc-example-l2 spec: addresses: - 4.4.4.0/24 autoAssign: false # ...次の例に示すように、IP アドレスプールの設定を適用します。
$ oc apply -f ipaddresspool.yaml
インターフェイスセレクターを使用して L2 アドバタイズメントを作成し、IP アドレスをアドバタイズします。l2advertisement.yamlなどの YAML ファイルを作成し、次の例に示すように設定の詳細を入力します。apiVersion: metallb.io/v1beta1 kind: L2Advertisement metadata: name: l2advertisement namespace: metallb-system spec: ipAddressPools: - doc-example-l2 interfaces: - interfaceA - interfaceB # ...次の例に示すように、広告の設定を適用してください。
$ oc apply -f l2advertisement.yaml重要インターフェイスセレクターは、MetalLB が L2 を使用して特定の IP をアナウンスするノードを選択する方法には影響しません。ノードが選択されたインターフェイスを持たない場合、選択されたノードはサービスをアナウンスしません。