How to create VM images for ucloud¶
ucloud tries to be least invasise towards VMs and only require strictly necessary changes for running in a virtualised environment. This includes configurations for:
Configuring the network
Managing access via ssh keys
Resizing the attached disk(s)
All VMs in ucloud are required to support IPv6. The primary network configuration is always done using SLAAC. A VM thus needs only to be configured to
accept router advertisements on all network interfaces
use the router advertisements to configure the network interfaces
accept the DNS entries from the router advertisements
Configuring SSH keys¶
To be able to access the VM, ucloud support provisioning SSH keys.
To accept ssh keys in your VM, request the URL http://metadata/ssh_keys. Add the content to the appropriate user’s authorized_keys file. Below you find sample code to accomplish this task:
tmp=$(mktemp) curl -s http://metadata/ssk_keys > "$tmp" touch ~/.ssh/authorized_keys # ensure it exists cat ~/.ssh/authorized_keys >> "$tmp" sort "$tmp" | uniq > ~/.ssh/authorized_keys
In virtualised environments, the disk sizes might grow. The operating system should detect disks that are bigger than the existing partition table and resize accordingly. This task is os specific.
ucloud does not support shrinking disks due to the complexity and intra OS dependencies.