13.3. 予測可能な IP の割り当て
作成される環境をより細かく制御するために、director はそれぞれのネットワークにおいてオーバークラウドノードに特定の IP アドレスを割り当てることができます。
手順
予測可能な IP アドレス設定を定義する環境ファイルを作成します。
$ touch ~/templates/predictive_ips.yaml
~/templates/predictive_ips.yaml
ファイルにparameter_defaults
セクションを作成し、以下の構文を使用してネットワークごとに各ノードの予測可能な IP アドレス設定を定義します。parameter_defaults: <role_name>IPs: <network>: - <IP_address> <network>: - <IP_address>
各ノードロールには固有のパラメーターがあります。
<role_name>IPs
を該当するパラメーターに置き換えます。-
コントローラーノードの場合は
ControllerIPs
。 -
コンピュートノードの場合は
ComputeIPs
。 -
Ceph Storage ノードの場合は
CephStorageIPs
。 -
Block Storage ノードの場合は
BlockStorageIPs
。 -
Object Storage ノードの場合は
SwiftStorageIPs
。 カスタムロールの場合は
[ROLE]IPs
。[ROLE]
はロール名に置き換えます。各パラメーターは、アドレスのリストへのネットワーク名のマッピングです。各ネットワーク種別には、最低でもそのネットワークにあるノード数と同じ数のアドレスが必要です。director はアドレスを順番に割り当てます。各種別の最初のノードは、適切なリストにある最初のアドレスが割り当てられ、2 番目のノードは 2 番目のアドレスというように割り当てられていきます。
たとえば、予測可能な IP アドレスを持つ 3 つの Ceph Storage ノードをオーバークラウドにデプロイする場合は、以下の構文例を使用します。
parameter_defaults: CephStorageIPs: storage: - 172.16.1.100 - 172.16.1.101 - 172.16.1.102 storage_mgmt: - 172.16.3.100 - 172.16.3.101 - 172.16.3.102
最初の Ceph Storage ノードは 172.16.1.100 と 172.16.3.100 の 2 つのアドレスを取得します。2 番目は 172.16.1.101 と 172.16.3.101、3 番目は 172.16.1.102 と 172.16.3.102 を取得します。他のノード種別でも同じパターンが適用されます。
コントロールプレーンに予測可能な IP アドレスを設定するには、
/usr/share/openstack-tripleo-heat-templates/environments/ips-from-pool-ctlplane.yaml
ファイルをstack
ユーザーのtemplates
ディレクトリーにコピーします。$ cp /usr/share/openstack-tripleo-heat-templates/environments/ips-from-pool-ctlplane.yaml ~/templates/.
以下の例に示すパラメーターで、新たな
ips-from-pool-ctlplane.yaml
ファイルを設定します。コントロールプレーンの IP アドレスの宣言に他のネットワークの IP アドレスの宣言を組み合わせ、1 つのファイルだけを使用してすべてのロールの全ネットワークの IP アドレスを宣言することができます。また、スパイン/リーフ型ネットワークに予測可能な IP アドレスを使用することもできます。それぞれのノードには、正しいサブネットからの IP アドレスを設定する必要があります。parameter_defaults: ControllerIPs: ctlplane: - 192.168.24.10 - 192.168.24.11 - 192.168.24.12 internal_api: - 172.16.1.20 - 172.16.1.21 - 172.16.1.22 external: - 10.0.0.40 - 10.0.0.57 - 10.0.0.104 ComputeLeaf1IPs: ctlplane: - 192.168.25.100 - 192.168.25.101 internal_api: - 172.16.2.100 - 172.16.2.101 ComputeLeaf2IPs: ctlplane: - 192.168.26.100 - 192.168.26.101 internal_api: - 172.16.3.100 - 172.16.3.101
選択する IP アドレスは、ネットワーク環境ファイルで定義する各ネットワークの割り当てプールの範囲に入らないようにしてください。たとえば、
internal_api
の割り当てはInternalApiAllocationPools
の範囲外にし、自動的に選択される IP との競合を避けるようにします。また、標準の予測可能な仮想 IP 配置 (「予測可能な仮想 IP の割り当て」 を参照) または外部の負荷分散 (「外部の負荷分散機能の設定」 を参照) のいずれでも、IP アドレスの割り当てが仮想 IP 設定と競合しないようにしてください。重要オーバークラウドノードが削除された場合に、そのノードのエントリーを IP のリストから削除しないでください。IP のリストは、下層の heat インデックスをベースとしています。このインデックスは、ノードを削除した場合でも変更されません。IP のリストで特定のエントリーが使用されなくなったことを示すには、IP の値を
DELETED
またはUNUSED
などに置き換えてください。エントリーは変更または追加するのみとし、IP のリストから決して削除すべきではありません。
-
コントローラーノードの場合は
デプロイメント中にこの設定を適用するには、
openstack overcloud deploy
コマンドでpredictive_ips.yaml
環境ファイルを指定します。重要ネットワーク分離の機能を使用する場合には、
network-isolation.yaml
ファイルの後にpredictive_ips.yaml
ファイルを追加してください。$ openstack overcloud deploy --templates \ -e /usr/share/openstack-tripleo-heat-templates/environments/network-isolation.yaml \ -e ~/templates/predictive_ips.yaml \ [OTHER OPTIONS]