31.4. MetalLB アドレスプールの設定
クラスター管理者は、アドレスプールを追加、変更、および削除できます。MetalLB Operator は、アドレスプールカスタムリソースを使用して、MetalLB がサービスに割り当てることのできる IP アドレスを設定します。例で使用されている namespace は、namespace が metallb-system
であることを前提としています。
31.4.1. IPAddressPool カスタムリソースについて リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Container Platform 4.10 の MetalLB を使用したロードバランシングに記載されているアドレスプールカスタムリソース定義 (CRD) および API は、4.12 でも引き続き使用できます。ただし、アドレスプール CRD を使用する場合、レイヤー 2 または BGP プロトコルでの IPAddressPools
のアドバタイズに関連する拡張機能はサポートされません。
次の表で、IPAddressPool
カスタムリソースのフィールドについて説明します。
フィールド | 型 | 説明 |
---|---|---|
|
|
アドレスプールの名前を指定します。サービスを追加する場合は、 |
|
| アドレスプールの namespace を指定します。MetalLB Operator が使用するものと同じ namespace を指定します。 |
|
|
オプション: |
|
| MetalLB Operator がサービスに割り当てる IP アドレスのリストを指定します。1 つのプールで複数の範囲を指定できます。それらはすべて同じ設定を共有します。CIDR 表記で各範囲を指定するか、開始および終了の IP アドレスをハイフンで区切って指定します。 |
|
|
オプション: MetalLB がこのプールから IP アドレスを自動的に割り当てるかどうかを指定します。 注記
IP アドレスプールの設定の場合は、addresses フィールドが、 |
|
|
オプション:これにより、IP アドレスの末尾 |
31.4.2. アドレスプールの設定 リンクのコピーリンクがクリップボードにコピーされました!
クラスター管理者は、クラスターにアドレスプールを追加して、MetalLB がロードバランサーサービスに割り当てることのできる IP アドレスを制御できます。
前提条件
-
OpenShift CLI (
oc
) がインストールされている。 -
cluster-admin
権限を持つユーザーとしてログインしている。
手順
以下の例のような内容で、
ipaddresspool.yaml
などのファイルを作成します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
IPAddressPool
に割り当てられたこのラベルは、BGPAdvertisement
CRD のipAddressPoolSelectors
によって参照され、IPAddressPool
をアドバタイズメントに関連付けることができます。
IP アドレスプールの設定を適用します。
oc apply -f ipaddresspool.yaml
$ oc apply -f ipaddresspool.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
次のコマンドを入力して、アドレスプールを表示します。
oc describe -n metallb-system IPAddressPool doc-example
$ oc describe -n metallb-system IPAddressPool doc-example
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
doc-example
などのアドレスプール名と IP アドレス範囲が出力に存在することを確認します。
31.4.3. アドレスプールの設定例 リンクのコピーリンクがクリップボードにコピーされました!
次の例は、特定環境のアドレスプールの設定を示しています。
31.4.3.1. 例: IPv4 および CIDR 範囲 リンクのコピーリンクがクリップボードにコピーされました!
Classless Inter-Domain Routing (CIDR) 表記で IP アドレスの範囲を指定できます。CIDR 表記と、ハイフンを使用する表記を組み合わせて下層と上限を分けることができます。
31.4.3.2. 例: IP アドレスの割り当て リンクのコピーリンクがクリップボードにコピーされました!
MetalLB がアドレスプールから IP アドレスを自動的に割り当てないように、autoAssign
フィールドを false
に設定できます。その場合、IP アドレスプールから単一の IP アドレスまたは複数の IP アドレスを割り当てることができます。IP アドレスを割り当てるには、spec.addresses
パラメーターのターゲット IP アドレスに /32
CIDR 表記を追加します。この設定により、特定の IP アドレスのみが割り当て可能になります。予約されていない IP アドレスは、アプリケーション用に残されます。
複数の IP アドレスを割り当てる IPAddressPool
CR の例
サービスを追加する場合は、アドレスプールから特定の IP アドレスを要求することも、アノテーションでプール名を指定して、そのプールから任意の IP アドレスを要求することもできます。
31.4.3.3. 例: IPv4 および IPv6 アドレス リンクのコピーリンクがクリップボードにコピーされました!
IPv4 および IPv6 を使用するアドレスプールを追加できます。複数の IPv4 の例と同様に、addresses
一覧で複数の範囲を指定できます。
サービスに、単一の IPv4 アドレス、単一の IPv6 アドレス、またはその両方を割り当てるかどうかは、サービスの追加方法によって決まります。spec.ip Families
フィールドとspec.ip Family Policy
フィールドでは、IP アドレスをサービスに割り当てる方法を制御します。