In this video, you'll learn about bootstrapping of cloud hosts and virtual machines.
So what exactly is bootstrapping?
Well, you need to know that cloud instances are not installed, they are deployed from
an image.
And deploying an instance means that the properties that you have defined in cloud are added to
the image, and that is what you call bootstrapping.
Now bootstrapping turns the raw cloud image into a running system.
And in the cloud, the bootstrapping procedure replaces the normal starter procedure of a
system that is installed.
And that is why when you are dealing with Linux in the cloud, you don't deal with grub,
etc.
You deal with boot settings provided by the cloud.
Now typically, the following will happen while you are bootstrapping.
First, instance-specific settings are defined in the cloud and they are injected into the
instance.
Then networking and storage are applied, and updates may be installed, and the instance
may join external systems such as Active Directory or Ansible for configuration management.
Cloud-init is an important component in bootstrapping because it is a common open-source tool that
is used for bootstrapping of cloud instances.
And it uses a configuration file which is typically set in cloud-init.yaml, which injects
specific settings to the instance.
For instance, it sets the hostname, it installs packages, and for an example, you can see
the cloud-init.yaml in the course Git repository at github.com slash Sander van Vugt slash
Linux Plus.
Let's check it out.
So let me git clone the Git repository.
And there you can see an example of a cloud-init.yaml.
Let's install a real editor first.
So as you can see, it defines all the host properties, like the hostname and the FQDN.
And here you can see the network-related settings.
You can see that it should start nginx.
And at the end, you can see that there is a configuration file for nginx.
So that is all, and that will perfectly bootstrap the image for you in the appropriate cloud
context.