8.3. 置备裸机节点
创建一个新的 YAML 文件 ~/overcloud-baremetal-deploy.yaml
,定义您要部署的裸机节点的数量和属性,并为这些节点分配 overcloud 角色。置备过程会创建一个 heat 环境文件,您可以将其包括在 openstack overcloud deploy
命令中。
先决条件
- 成功安装 undercloud。有关更多信息,请参见 第 4.7 节 “安装 director”。
- 裸机节点已内省并可用于置备和部署。有关更多信息,请参见 第 8.1 节 “为 overcloud 注册节点”和 第 8.2 节 “检查节点的硬件”。
步骤
查找
stackrc
undercloud 凭据文件:$ source ~/stackrc
创建新的
~/overcloud-baremetal-deploy.yaml
文件,并为您要置备的每个角色定义节点数。例如,要置备三个 Controller 节点和三个 Compute 节点,请使用以下语法:- name: Controller count: 3 - name: Compute count: 3
在
~/overcloud-baremetal-deploy.yaml
文件中,定义您要分配给节点的任何预先节点放置、自定义镜像、自定义 NIC 或其他属性。例如,使用以下示例语法在节点node00
、node01
和node02
上置备三个 Controller 节点,在node04
、node05
和node06
上置备三个 Compute 节点:- name: Controller count: 3 instances: - hostname: overcloud-controller-0 name: node00 - hostname: overcloud-controller-1 name: node01 - hostname: overcloud-controller-2 name: node02 - name: Compute count: 3 instances: - hostname: overcloud-novacompute-0 name: node04 - hostname: overcloud-novacompute-1 name: node05 - hostname: overcloud-novacompute-2 name: node06
默认情况下,置备过程使用
overcloud-full
镜像。您可以使用instance
参数中的image
属性来定义自定义镜像:- name: Controller count: 3 instances: - hostname: overcloud-controller-0 name: node00 image: href: overcloud-custom
您还可以用
defaults
参数覆盖默认参数值,以避免为每个节点条目手动定义节点:- name: Controller count: 3 defaults: image: href: overcloud-custom instances: - hostname :overcloud-controller-0 name: node00 - hostname: overcloud-controller-1 name: node01 - hostname: overcloud-controller-2 name: node02
有关节点定义文件中可以使用的参数、属性和值的更多信息,请参阅 第 8.6 节 “裸机节点置备属性”。
运行置备命令,指定
~/overcloud-baremetal-deploy.yaml
文件,并使用--output
选项定义输出文件:(undercloud) $ sudo openstack overcloud node provision \ --stack stack \ --output ~/overcloud-baremetal-deployed.yaml \ ~/overcloud-baremetal-deploy.yaml
置备过程会生成一个 heat 环境文件,其名称是您在
--output
选项中指定的名称。此文件包含节点定义。当您部署 overcloud 时,请将此文件包括在部署命令中。在一个单独的终端中对节点进行监控以验证它们是否成功置备。置备过程将节点状态从
available
改为active
:(undercloud) $ watch openstack baremetal node list
使用
metalsmith
工具获取节点的统一视图,包括分配和 neutron 端口:(undercloud) $ metalsmith list
您还可以使用
openstack baremetal allocate
命令来验证节点与主机名的关联,并为置备的节点获取 IP 地址:(undercloud) $ openstack baremetal allocation list
当节点置备成功时,您可以部署 overcloud。有关更多信息,请参见 第 9 章 使用预置备节点配置基本 overcloud。