3.4. 配置 overcloud 以启用裸机置备
要在 overcloud 上启用裸机置备服务(ironic),请使用 overcloud 部署中的 /usr/share/openstack-tripleo-heat-templates/environments/services 目录中的一个默认模板:
-
对于使用 OVS 的部署:
ironic.yaml -
对于使用 OVN 的部署:
ironic-overcloud.yaml
您还可以创建本地环境文件来覆盖部署所需的默认配置。
如果要启用裸机置备检查器服务 ironic-inspector 服务,还必须在 overcloud 部署中包括 /usr/share/openstack-tripleo-heat-templates/environments/services/ironic-inspector.yaml 文件。
流程
-
在本地目录中创建环境文件,为您的部署配置裸机置备服务,如
ironic-overrides.yaml。 可选:配置在置备前以及置备间要在裸机上执行的清理类型:
parameter_defaults: IronicCleaningDiskErase: <cleaning_type>将
<cleaning_type> 替换为以下值之一:-
full: (默认)执行完全清理。 -
元数据:仅清理分区表。这种类型的清理可显著加快清理过程。但是,由于部署在多租户环境中安全性较低,因此仅在可信租户环境中使用此选项。
-
可选:在默认驱动程序中添加额外驱动程序:
parameter_defaults: IronicEnabledHardwareTypes: ipmi,redfish,idrac,ilo,[driver_1],...,[driver_n] IronicEnabledPowerInterfaces: ipmitool,redfish,[power_interface_1],...,[power_interface_n]-
将
[driver_1]以及直到[driver_n]的额外驱动程序替换为您要启用的驱动程序。 -
将
[power_interface_1]以及任何所需的电源接口(直到[power_interface_n])替换为您的附加驱动程序所需的电源接口。
-
将
要启用裸机内省,请在本地裸机置备服务环境文件中添加以下配置,
ironic-overrides.yaml:parameter_defaults: IronicInspectorSubnets: - ip_range: <ip_range> IPAImageURLs: '["http://<ip_address>:<port>/agent.kernel", "http://<ip_address>:<port>/agent.ramdisk"]' IronicInspectorInterface: '<baremetal_interface>'-
将
<ip_range> 替换为您的环境的 IP 范围,如192.168.0.100、192.168.0.120。 -
将
<ip_address>:<port> 替换为托管 IPA 内核和 ramdisk 的 Web 服务器的 IP 地址和端口。要使用 undercloud 上使用的同一镜像,请将 IP 地址设置为 undercloud IP 地址,并将端口设为8088。如果省略此参数,则必须在每个 Controller 节点上包括 alternatives。 -
将
<baremetal_interface>替换为裸机网络接口,例如br-baremetal。
-
将
使用其他环境文件将新角色和自定义环境文件添加到堆栈中,并部署 overcloud:
(undercloud)$ openstack overcloud deploy --templates \ -e [your environment files] \ -e /home/stack/templates/node-info.yaml \ [ -r /home/stack/templates/roles_data.yaml \ ]1 -e /usr/share/openstack-tripleo-heat-templates/network-environment.yaml \ -e /usr/share/openstack-tripleo-heat-templates/environments/services/<default_ironic_template> \2 -e /usr/share/openstack-tripleo-heat-templates/environments/services/ironic-inspector.yaml \ -e /home/stack/templates/network_environment_overrides.yaml \ [ -n /home/stack/templates/network_data.yaml \ ]3 -e /home/stack/templates/ironic-overrides.yaml