|
この文書は自動機械翻訳技術を使用して翻訳されています。 正確な翻訳を提供するように努めておりますが、翻訳された内容の完全性、正確性、信頼性については一切保証いたしません。 相違がある場合は、元の英語版 英語 が優先され、正式なテキストとなります。 |
IPプール
IPプールは、SUSE Virtualizationロードバランサー(LB)専用のビルトインIPアドレス管理(IPAM)ソリューションです。
機能
-
*複数のIP範囲:*各IPプールには、複数のIP範囲またはCIDRを含めることができます。
-
*割り当て履歴:*IPプールは、すべてのIPアドレスの割り当て履歴を追跡し、ロードバランサー名によって以前に割り当てられたアドレスを優先的に割り当てます。
status: allocatedHistory: 192.168.178.8: default/rke2-default-lb-pool-2fab9ac0 -
*スコープ:*IPプールは、特定のネットワーク、プロジェクト、ネームスペース、またはゲストクラスターに制限することができます。
IPプールの作成
-
SUSE Virtualization UIで、*ネットワーク → IPプール*に移動します。
-
「作成」を選択します。
-
IPプールの名前を指定します。
-
*範囲*タブで、1つ以上のIP範囲を指定します。
-
「セレクタ」タブで、IPプールの優先度とスコープ(ネームスペース)を指定します。
Rancher UIを使用してIPプールを作成する
SUSE VirtualizationクラスターをRancherにインポートした場合、Rancher UIを使用してIPプールを作成できます(仮想化管理 → IPプール:作成*)。ただし、*スコープ*セクションでは、ネームスペースに加えてプロジェクトとゲストKubernetesクラスターを指定する必要があります。詳細については、マルチテナンシーの例および プロジェクトとKubernetesの名前空間をRancherで使用するを参照してください。
IPプールは、スコープ*セクションに*プロジェクト、ネームスペース、および*ゲストKubernetesクラスター*フィールドが*すべて*に設定された1つのエントリのみを含む場合、グローバルリソースとして指定されます。
選択ポリシー
各IPプールには特定の範囲があり、LB `annotations`に対応する要件を指定できます。指定された要件を満たすIPプールは、自動的にLBにIPアドレスを割り当てます。
-
LBは、要件を表現するために以下の注釈を利用します(すべての注釈はオプションです):
-
`loadbalancer.harvesterhci.io/network`は、ゲストクラスターのノードが使用するVMネットワークを指定します。
-
`loadbalancer.harvesterhci.io/project`と`loadbalancer.harvesterhci.io/namespace`は、ゲストクラスターを構成するVMのプロジェクトとネームスペースを特定します。
-
`loadbalancer.harvesterhci.io/cluster`は、ゲストクラスターの名前を示します。
-
-
IPプールには、LBの要件に一致させるためのネットワークとスコープを含むセレクターがあります。
-
ネットワークは厳しい条件です。オプションのIPプールは、LB注釈`loadbalancer.harvesterhci.io/network`の値と一致する必要があります。
-
グローバルIPプールを除くすべてのIPプールは、優先度が`0`の場合、他のものとは異なるユニークなスコープを持っています。LBのプロジェクト、ネームスペース、またはクラスター名は、このプールからIPを取得したい場合、IPプールのスコープ内にある必要があります。
-
-
`spec.selector.priority`は、IPプールの優先度を指定します。数が大きくなるほど、優先度が高くなります。優先度が`0`でない場合、値は異なる必要があります。優先度は、古いIPプールを新しいものに移行するのに役立ちます。
-
IPプールがすべてのプロジェクト、名前空間、ゲストクラスターに一致するスコープを持つ場合、それはグローバルIPプールと呼ばれ、1つのグローバルIPプールのみが許可されます。LBの要件に一致するIPプールがない場合、IPAMは存在する場合、グローバルIPプールからIPアドレスを割り当てます。
例
-
例1:
192.168.100.0/24ネームスペース内でdefaultの範囲の IP プールを設定したいと思います。このシナリオでは、defaultネームスペース内のすべてのロードバランサーが、この指定された IP プールから IP アドレスを受け取ります。apiVersion: networking.harvesterhci.io/v1beta1 kind: IPPool metadata: name: default-ip-pool spec: ranges: - subnet: 192.168.100.0/24 selector: scope: namespace: default -
*例2:*ネットワーク
default/vlan1内にデプロイされたゲストクラスターrke2があり、そのproject/namespace名はproduct/defaultです。それに対して排他的な IP プール範囲192.168.10.10-192.168.10.20を構成したい場合。次のYAML設定を参照してください。apiVersion: networking.harvesterhci.io/v1beta1 kind: IPPool metadata: name: rke2-ip-pool spec: ranges: - subnet: 192.168.10.0/24 rangeStart: 192.168.10.10 rangeEnd: 192.168.10.20 selector: network: default/vlan1 scope: - project: product namespace: default guestCluster: rke2 -
例3:
defaultネームスペースのために IP プールdefault-ip-poolを指定した場合、IP プールdefault-ip-poolを範囲192.168.200.0/24の別の IP プールdefault-ip-pool-2に移行したいと思います。同じスコープに対して 1 つの IP プールを指定することは許可されていませんが、IP プールdefault-ip-pool-2にdefault-ip-poolよりも高い優先度を与えることができます。次のYAML設定を参照してください。apiVersion: networking.harvesterhci.io/v1beta1 kind: IPPool metadata: name: default-ip-pool-2 spec: ranges: - subnet: 192.168.200.0/24 selector: priority: 1 # The priority is higher than default-ip-pool scope: namespace: default -
*例4:*CIDR 範囲
192.168.20.0/24のグローバル IP プールを構成したいと思います。apiVersion: networking.harvesterhci.io/v1beta1 kind: IPPool metadata: name: global-ip-pool labels: loadbalancer.harvesterhci.io/global-ip-pool: 'true' # Added by the controller automatically spec: ranges: - subnet: 192.168.20.0/24 selector: scope: - project: "*" namespace: "*" guestCluster: "*"
ベストプラクティス
VM タイプのロードバランサー用 IP プール
-
スコープセレクターの「プロジェクト」および「ゲスト Kubernetes クラスター」フィールドを空白のままにして、「SUSE Virtualization UI」を使用して IPプールを作成します。
-
もし Rancher UI を使用しなければならない場合は、プロジェクト および ゲスト Kubernetes クラスター フィールドを すべて または なし に設定してください。
ゲストクラスタータイプのロードバランサー用 IP プール
-
リソース管理と分離を向上させるために、ターゲットプロジェクトとゲスト Kubernetes クラスターを指定できるよう、「Rancher UI」を使用して IPプールを作成します。
-
グローバル IP プールを作成する際は注意してください。単一のゲストクラスターがプール全体を使い果たす可能性があり、他のクラスターがサービスを提供できなくなることがあります。さらに、アドレスがまだ使用中の場合、プールを削除することはできません。