13.3. 分配可预测的 IP
为了进一步控制生成的环境,director 可以使用每个网络上的特定 IP 地址分配 overcloud 节点。
流程
创建环境文件以定义预测的 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
替换为相关参数:-
Controller 节点的
ControllerIPs
。 -
Compute 节点的
ComputeIPs
。 -
Ceph Storage 节点的
CephStorageIPs
。 -
BlockStorageIPs
用于块存储节点。 -
Object
Storage 节点的 Swift
StorageIPs。 [ROLE]IPs
用于自定义角色。将[ROLE]
替换为角色名称。每个参数都是网络名称到地址列表的映射。每种网络类型必须至少拥有多个地址,因为该网络上的节点将至少有多地址。director 按顺序分配地址。每种类型的第一个节点接收每个对应列表的第一个地址,第二个节点会在每个各自列表上接收第二个地址,以此类推。
例如,如果要在 overcloud 中部署三个带有预测 IP 地址的 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。第二个接收 172.16.1.101 和 172.16.3.101,第三个接收 172.16.1.102 和 172.16.3.102。相同的模式适用于其他节点类型。
要在 control plane 上配置可预测的 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
文件。您可以将 control plane IP 地址声明与其他网络的 IP 地址声明合并,且只使用一个文件为所有角色中的所有网络声明 IP 地址。您还可以将可预测的 IP 地址用于 spine/leaf。每个节点必须具有正确的子网的 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 分配与 VIP 配置不冲突,适用于标准可预测的 VIP 放置(请参阅 第 13.4 节 “分配可预测的虚拟 IP”)或外部负载均衡(请参阅 第 21.4 节 “配置外部负载均衡”)。重要如果删除了 overcloud 节点,请不要删除 IP 列表中的条目。IP 列表基于底层 heat 索引,即使删除了节点,此索引不会改变。要指示列表中的给定条目不再使用,请将 IP 值替换为
DELETED
或UNUSED
等值。不应从 IP 列表中删除条目,只更改或添加。
-
Controller 节点的
要在部署期间应用此配置,请使用
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]