Installing and configuring cloud-init at boot time
The main thing that we are covering in this chapter is how to get cloud-init to run, and how to get all of its parts in the right place when the machine is being deployed, but this only scratches the surface of how cloud-init actually works. What you need to understand is that cloud-init runs as a service, configures the system, and follows what we told it to do in a certain way. After the system has booted, we can connect to it and see what was done, how, and analyze the logs. This could seem contrary to the idea of completely automatic deployment but it is there for a reason – whatever we do, there is always the possibility that we will need to debug the system or do some post-installation tasks that can also be automated.
Using cloud-init is not specifically confined to just debugging. After the system has booted, there is a large amount of data created by the system about how the boot was done, what actual cloud configuration...