 Hello, welcome back to OpenShift 4.x deep dive video series. In this video, we'll talk about the cluster installation and ignition. We covered cluster installation in our first video, but we'll get a little bit deeper in this video so that it sets us context for talking about ignition process. Let's revisit the cluster installation process, the bootstrap process. OpenShift installer creates a bootstrap node first. This bootstrap node, beginning with OpenShift 4.4, comes up with an instance of HCD of its own. This bootstrap node also hosts remote resources that are required for masters to come up. These remote resources are ignition configuration files we'll talk about in a few minutes. The bootstrap node now starts a temporary Kubernetes control plane and runs a HCD operator. It uses that HCD operator to scale up the HCD to three instances by using master hosts and it forms an HCD cluster. The temporary control plane eventually schedules a production control plane on the master machines and its CD is now transferred onto the master machines. The bootstrap node injects OpenShift specific components into the newly formed control plane and the temporary control plane sheds down leading to the production control plane. So the installer tears down the bootstrap node, but if you're using user provision installation, then you have to tear down the bootstrap node. Now the master hosts will host the remote resources or the ignition file for masters as well as the workers. So the worker machines that will come up either now or in the future will fetch those remote resources from the master machine and they'll finish booting. I wanted us to quickly review this bootstrap process and have it fresh in our mind before we get into the ignition process that we are going to discuss now. Ignition is a provisioning utility. It is designed specifically for Red Hat coroas. It is used for manipulating the disks during early boot, that is during the any-tramFS. You can use it for partitioning disks, formatting partitions, writing files. This could be like system D units, network D units, and things like that or even configuring users. Ignition reads its configuration from a source and the source could be a remote URL. It could be network metadata surveys or things like that and it applies that configuration on the top of the coroas image that you download from Red Hat. So even though Ignition runs only once, it does a lot of things. It runs very early in the boot process and it is able to accomplish the configuration before the user space begins to boot up. So spinning up of a new coroas machine for the first time, it involves pulling a Red Hat coroas image from Red Hat and you apply the Ignition configuration coming from the Ignition file. When you run OpenShift installer, it generates bootstrap Ignition file, master Ignition file, and the worker Ignition file, which provide the configurations for the respective machines. Master Ignition file is initially hosted by the bootstrap server and later the masters will host the master Ignition file and the worker Ignition files. Master runs a machine config server that will have the machine configurations. We'll talk about machine config server a little later. Let's go through the Ignition process first. So let's see how the nodes spin up for the first time. As I said before, the bootstrap Ignition file gets generated by the OpenShift installer. You will see this better if you are doing a bare metal installation. All this process that I'm explaining is all under the covers when you run OpenShift installer on a cloud. But if you are doing bare machine installation, you will see this step by step. Bootstrap Ignition file is supplied as a kernel parameter while you are bringing up the bootstrap machine. This is for the first time. This bootstrap Ignition file is about 1300 lines and it includes the configurations not just for the bootstrap machine but also for master and workers. Once the bootstrap machine comes up, that hosts the machine configurations for master. That means the Ignition configuration for the master is hosted by the bootstrap machine. Now, the OpenShift installer would have also generated a master Ignition file. This is a small file and you can make some customizations to that and you can mount that master Ignition file as a kernel parameter and that master Ignition file is merged with the bigger master Ignition file that is served by the bootstrap machine that combined Ignition is applied. So again, just like the bootstrap machine, core OSMH comes from Red Hat and you will be supplying the core OSMH with the customizations that the Ignition provides. Once the master comes up, master will host a machine config server that renders the Ignition configuration files for both master and worker. So you'll have master.ign and worker.ign. If you remember the installation process that we discussed before, once the master has come up and take over the control plane, the bootstrap will cease to exist so it can be shut down. So the masters take over the job of rendering the Ignition files as well and that's done by the machine config server. And from this point on, if you were to bring up any worker nodes now or in the future, the Ignition config files are always hosted by the master. So when the worker tries to come up, again, you have the worker Ignition file that comes from the installer that will be merged with the worker Ignition file hosted by the master and that gives you a combined Ignition file that will be used for workers to come up. Every host pulls this Ignition file and it applies that on the Red Hat core OSMH. This is how the Ignition configuration works and this is how the nodes will come up for the first time. You can observe this during the bare metal installation. I'm showing you the documentation for bare metal installation. You first create the Ignition config files by running this command and then you use that Ignition configuration file and supply that as kernel parameter. So to summarize in this video, we reviewed the cluster installation process. We discussed the Ignition process where the Ignition file supplies the configurations which are applied on the Red Hat core OSMH. We also discussed in detail on how the Ignition process works when the nodes spin up for the first time during cluster installation. In the upcoming videos, we'll talk about machine configurations and day to upgrade process. I hope you enjoyed this video. Thanks a lot for watching.