Search Docs...
⌘ K
OverviewDeploymentManagementOperationReference

Initializing a Linux virtual machine using cloud-init

Introduction to cloud-init

Cloud-init is a third-party tool that can automate a variety of system initial configurations for Linux virtual machines. As a non-resident service, cloud-init only performs actions during the virtual machine's boot process, and will quit immediately when it's done. Therefore, it does not keep any monitoring ports open.

AVE supports cloud-init, allowing you to create virtual machines from templates that have cloud-init configured. New virtual machines built from the templates will contain the initialization data and will be automatically configured on their first boot.

Below are the configurations supported by cloud-init:

  • Hostname.

  • Default user's password.

    The default user configured by cloud-init is root.

  • SSH public keys for remote login.

  • DNS server.

  • IP address. DHCP and static IP configuration are supported.

  • Custom user data. You can automate more configurations by configuring scripts.

You can refer to the official cloud-init documentation for more details about cloud-init.

Known issue

You can only have one cloud.cfg file under the /etc/cloud/ configuration file path. Any other cloud.cfg files, even if displayed as cloud.cfg_bak, under this path will cause the root user's failure to use the system once booted.