cloud-init is an increasingly popular way to configure Linux VMs. Today we are pleased to announce a preview of provisioning RHEL 7.4 and CentOS 7.4 using cloud-init. This will allow you to migrate existing cloud-init configurations to Azure from other environments. cloud-init allows for VM customization during VM provisioning, adding to the existing Azure parameters used to create a VM. You can also use the functionality of cloud-init to configure the VM further, such as add users, change disk configuration, run scripts, install packages, etc., by using the custom cloud-init configuration modules.
Currently, the Azure Gallery, which contains Linux images for deployment in Azure, the existing RHEL 7.4, and CentOS 7.4 images utilize the Linux agent for customizing the image during the initial provisioning. The Azure Gallery now contains new cloud-init provisioned RHEL 7.4 and CentOS 7.4 images that are ready for you to deploy with or without additional cloud-init configurations. These are available in preview in Azure public clouds.
Read about it in the Azure blog.