4.2.7. MetalLB を L2 アドバタイズメントとラベルで設定する
BGPAdvertisement および L2Advertisement の カスタムリソース定義にある ipAddressPoolSelectors フィールドを使用すると、IP アドレスプールを アドバタイズメントに関連付けることができます。この関連付けは、IPAddressPool の名前自体ではなく、割り当てられたラベルに基づいています。
手順書の例では、ipAddressPoolSelectors フィールドを設定することで、IPAddressPool が L2 プロトコルでアドバタイズされるように MetalLB を設定する方法を示しています。
前提条件
-
OpenShift CLI (
oc) がインストールされている。 -
cluster-admin権限を持つユーザーとしてログインしている。
手順
IP アドレスプールを作成します。
以下の例のような内容で、
ipaddresspool.yamlなどのファイルを作成します。apiVersion: metallb.io/v1beta1 kind: IPAddressPool metadata: namespace: metallb-system name: doc-example-l2-label labels: zone: east spec: addresses: - 172.31.249.87/32 # ...IP アドレスプールの設定を適用します。
$ oc apply -f ipaddresspool.yaml
ipAddressPoolSelectorsを使用して IP アドレスをアドバタイズする L2 アドバタイズを作成します。以下の例のような内容で、
l2advertisement.yamlなどのファイルを作成します。apiVersion: metallb.io/v1beta1 kind: L2Advertisement metadata: name: l2advertisement-label namespace: metallb-system spec: ipAddressPoolSelectors: - matchExpressions: - key: zone operator: In values: - east # ...設定を適用します。
$ oc apply -f l2advertisement.yaml