Azure cloud-init support for Linux VMs

Applies to: AzureVirtual Machine running Linux


The service 'cloud-init' is an open source project provisioning agent that can be baked into Linux images, and is responsible for completing the setup of a newly-created Virtual Machine (VM). 'cloud-init' can perform such tasks as setting the hostname, username, password/ssh keys, or mounting the ephemeral disk. The process of completing the setup is known as ‘provisioning’. 

In addition to setting the minimum required configuration options described above, 'cloud-init' can process VM configurations, in multiple user-data formats, such as cloud-init configurations, scripts etc.

More Information

Azure cloud-init documentation defines which cloud-init versions and OS versions are supported, support defines that the configuration of those versions is supported, note, the OS image can be a custom image or an Azure Market Place image.

Support for 'cloud-init' is inherited from the article Support for Linux and open source technology in Azure, but with the following clarifications:

MS support will assist you if you have issues provisioning a Virtual Machine (VM) with the minimum required configuration options:

  • VM Name
  • UserName
  • Password
  • SSH Keys
  • Ensuring user data is passed to the VM
  • Mounting and formatting the ephemeral disk

If you pass in user-data, that pass modifies the configuration of the VM. If you find that it is not processed as expected, and need support, Microsoft support will assist on a best effort basis, you may be asked to raise an issue with the 'cloud-init' upstream maintainers here.