注册裸机节点
1 | #openstack baremetal node create --driver ipmi --name BM01 |
当前许多 ironic node info 都是 None,需要后续继续更新。
- 设置部署接口类型,现在可支持 iSCSI、Direct、Ansible 等类型,每种类型都有不同的行为模型,可根据实际情况选择,这里我们选择direct 、不使用(占用 Provisioning Network 的带宽)的 iSCS 类型。
1 | openstack baremetal node set 5e10c067-c0c6-48be-ac6e-749a70045b97 \ |
- 设置 driver_info,这里即 IPMI info,主要是提供 IPMI 的登录账户信息。
1 | openstack baremetal node set 5e10c067-c0c6-48be-ac6e-749a70045b97 \ |
NOTE:IPMI Driver 官方文档
- 设置 Deploy Images,通过 RAMDisk 的方式启动。
1 | openstack image list |
- 设置 Provisioning/Cleaning Network。
1 | neutron net-create ironic_deploy --shared --provider:network_type flat --provider:physical_network physnet1 |
- 设置 ironic node 的 PXE 网卡 MAC 地址,在 Provisioning Network 中通过这个 MAC 地址来为其分配 IP 地址。
1 | openstack baremetal port create 78:ac:44:04:f1:a9 --node 5e10c067-c0c6-48be-ac6e-749a70045b97 |
NOTE:部署裸金属实例成功之后 PXE 网卡的 MAC 地址会被绑定到对应的 Tenant Network Port。
- 为 ironic node 设置 Placement 筛选候选人的 Resource Class 类型,nova-compute for Ironic 会自动为其创建 Placement Resource Provider。
1 | $ openstack baremetal node set 5e10c067-c0c6-48be-ac6e-749a70045b97 --resource-class BAREMETAL |
- 为 ironic node 设置 Placement 筛选候选人的 Resource Traits 标签。
1 |
|
NOTE:这个操作需要较高的 Placement API 版本 <= 1.17
- 设置 ironic node 的基础资源信息,作为 Placement 筛选候选人的参数因子。
1 | openstack baremetal node set 5e10c067-c0c6-48be-ac6e-749a70045b97 \ |
- 如果裸机服务器设定的是 UEFI,那么需要设置 ironic node 的 boot mode。(传统bios请忽略!!!)
1 | openstack baremetal node set 5e10c067-c0c6-48be-ac6e-749a70045b97 --property capabilities='boot_mode:uefi' |
- 验证上述录入的 ironic node infos 是否合规。
1 | $ openstack baremetal node validate e322f49a-ad50-468d-a031-29bde068c290 |
NOTE:这里出现了 4 个 False,但没有致命影响,其中 bios、console 是因为我们没有提供相应的驱动,属于可选项。而 boot、deploy 在 Nova Driver for Ironic 的环境中是无法通过验证的。
- 验证 ironic node 是否能够被纳管。
1 | # To move a node from enroll to manageable provision state |
- 查看当前的 ironic node 状态
1 | [root@controller ~]# openstack baremetal node show 5e10c067-c0c6-48be-ac6e-749a70045b97 |
- 验证,自动添加了 Ironic Neutron Agent。
1 | [root@baremetal ~]# openstack network agent list |
参考:https://docs.openstack.org/ironic/stein/admin/boot-from-volume.html#storage-interface