53 lines
		
	
	
	
		
			1.5 KiB
		
	
	
	
		
			ReStructuredText
		
	
	
	
	
	
			
		
		
	
	
			53 lines
		
	
	
	
		
			1.5 KiB
		
	
	
	
		
			ReStructuredText
		
	
	
	
	
	
How to create VM images for ucloud
 | 
						|
==================================
 | 
						|
 | 
						|
Overview
 | 
						|
---------
 | 
						|
 | 
						|
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)
 | 
						|
 | 
						|
 | 
						|
Network configuration
 | 
						|
---------------------
 | 
						|
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:
 | 
						|
 | 
						|
.. code-block:: sh
 | 
						|
 | 
						|
    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
 | 
						|
 | 
						|
 | 
						|
Disk resize
 | 
						|
-----------
 | 
						|
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.
 |