|
| 1 | +// Module included in the following assemblies: |
| 2 | +// |
| 3 | +// * installing/installing_bare_metal/ipi/ipi-install-prerequisites.adoc |
| 4 | + |
| 5 | +:_mod-docs-content-type: REFERENCE |
| 6 | + |
| 7 | +[id="installation-overview_{context}"] |
| 8 | += Installation overview |
| 9 | + |
| 10 | +The installation program supports interactive mode. However, you can prepare an `install-config.yaml` file containing the provisioning details for all of the bare-metal hosts, and the relevant cluster details, in advance. |
| 11 | + |
| 12 | +The installation program loads the `install-config.yaml` file and the administrator generates the manifests and verifies all prerequisites. |
| 13 | + |
| 14 | +The installation program performs the following tasks: |
| 15 | + |
| 16 | +* Enrolls all nodes in the cluster |
| 17 | +* Starts the bootstrap virtual machine (VM) |
| 18 | +* Starts the metal platform components as `systemd` services, which have the following containers: |
| 19 | + |
| 20 | +** Ironic-dnsmasq: The DHCP server responsible for handing over the IP addresses to the provisioning interface of various nodes on the provisioning network. Ironic-dnsmasq is only enabled when you deploy an {product-title} cluster with a provisioning network. |
| 21 | +** Ironic-httpd: The HTTP server that is used to ship the images to the nodes. |
| 22 | +** Image-customization |
| 23 | +** Ironic |
| 24 | +** Ironic-inspector (available in {product-title} 4.16 and earlier) |
| 25 | +** Ironic-ramdisk-logs |
| 26 | +** Extract-machine-os |
| 27 | +** Provisioning-interface |
| 28 | +** Metal3-baremetal-operator |
| 29 | + |
| 30 | +The nodes enter the validation phase, where each node moves to a _manageable_ state after Ironic validates the credentials to access the Baseboard Management Controller (BMC). |
| 31 | + |
| 32 | +When the node is in the manageable state, the _inspection_ phase starts. The inspection phase ensures that the hardware meets the minimum requirements needed for a successful deployment of {product-title}. |
| 33 | + |
| 34 | +The `install-config.yaml` file details the provisioning network. On the bootstrap VM, the installation program uses PXE to push a live image to every node with the Ironic Python Agent (IPA) loaded. When using virtual media, it connects directly to the BMC of each node to virtually attach the image. |
| 35 | + |
| 36 | +When using PXE boot, all nodes reboot to start the process: |
| 37 | + |
| 38 | +* The `ironic-dnsmasq` service running on the bootstrap VM provides the IP address of the node and the TFTP boot server. |
| 39 | +* The first-boot software loads the root file system over HTTP. |
| 40 | +* The `ironic` service on the bootstrap VM receives the hardware information from each node. |
| 41 | + |
| 42 | +The nodes enter the cleaning state, where each node must clean all the disks before continuing with the configuration. |
| 43 | + |
| 44 | +Once the cleaning state finishes, the nodes enter the available state and the installation program moves the nodes to the deploying state. |
| 45 | + |
| 46 | +IPA runs the `coreos-installer` command to install the {op-system-first} image on the disk defined by the `rootDeviceHints` parameter in the `install-config.yaml` file. The node boots by using {op-system}. |
| 47 | + |
| 48 | +After the installation program configures the control plane nodes, it moves control from the bootstrap VM to the control plane nodes and deletes the bootstrap VM. |
| 49 | + |
| 50 | +The Bare Metal Operator continues the deployment of the workers, storage, and infra nodes. |
| 51 | + |
| 52 | +After the installation completes, the nodes move to the active state. You can then proceed with postinstallation configuration and other Day 2 tasks. |
0 commit comments