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.
In the detailed documentation, we show you how you can test customizing your own images of these OS’s using cloud-init too!
Deploying a VM using cloud-init enabled image
This is really just as simple as referencing a different image name when creating a VM. You can pass in additional cloud-init configurations using ‘custom-data’:
Do I still need to have the Azure Linux Agent installed on my image?
Yes, Azure Linux Agent is still required.
Can I run a cloud-init configuration and install Azure VM extensions too?
Yes, extensions are supported.
Is it just CentOS 7.4 and RHEL 7.4 that support cloud-init on Azure?
No, cloud-init is already available for Canonical Ubuntu images, and CoreOS images support Ignition.
Where can I share feedback / comments?
We love feedback! Please submit your comments to Azure feedback page.