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.
							 |