After the cloud-init package is installed you will need to run the "setup-cloud-init" command to prepare the OS for cloud-init use. This command will enable cloud-init's init.d services so that they are run upon future boots/reboots. It also enables eudev's init.d services as udev is used by cloud-init for both disk configuration and network card persistent naming. NTP --- It is recommended that you enable a NTP client on the machine. Cloud-init supports both Chrony (fully featured) and Busybox's NTP client (a minimal implementation). Chrony is the default NTP client in cloud-init for Alpine Linux. To use Chrony as the NTP client: Install the chrony package and enable the chrony init.d service # apk add chrony # rc-update add chronyd default Specify a ntp section in your cloud-init User Data like so: ntp: pool: - 0.uk.pool.ntp.org - 1.uk.pool.ntp.org If you do not specify any pool or servers then 0.pool.ntp.org -> 3.pool.ntp.org will be used. The file /etc/cloud/templates/chrony.conf.alpine.tmpl is used by cloud-init as a template to create the configuration file /etc/chrony/chrony.conf. To use Busybox as the NTP client: Edit the /etc/conf.d/ntpd file and change the line: NTPD_OPTS="-N -p pool.ntp.org" so that it is instead: NTPD_OPTS="-N" This changes the NTP client from using the hardcoded NTP server "pool.ntp.org" to instead use the /etc/ntp.conf file which will be generated by cloud-init upon first boot. Enable the ntp init.d service: # rc-update add ntpd default Specify a ntp section in your cloud-init User Data like so: ntp: ntp_client: ntp servers: - 192.168.0.1 - 192.168.0.2 If you do not specify any servers then 0.pool.ntp.org -> 3.pool.ntp.org will be used. The file /etc/cloud/templates/ntp.conf.alpine.tmpl is used by cloud-init as a template to create the configuration file /etc/ntp.conf. Known Issues ============ cc_ca_certs module ------------------ The remove-defaults option of the cloud-init cc_ca_certs module does not currently work correctly. This option will delete certificates installed by the Alpine ca-certificates package as expected. However the certificates provided by the ca-certificates-bundle package, which is always automatically installed in an Alpine system due to it being a dependancy of a base package, are not deleted.