Update VM images documentation (upstream images, uncloud-init)
This commit is contained in:
		
					parent
					
						
							
								5d05e91335
							
						
					
				
			
			
				commit
				
					
						cbcaf63650
					
				
			
		
					 3 changed files with 74 additions and 36 deletions
				
			
		| 
						 | 
					@ -56,40 +56,13 @@ To start host we created earlier, execute the following command
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    ucloud host ungleich.ch
 | 
					    ucloud host ungleich.ch
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Create OS Image
 | 
					File & image scanners
 | 
				
			||||||
---------------
 | 
					--------------------------
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Create ucloud-init ready OS image (Optional)
 | 
					Let's assume we have uploaded an *alpine-uploaded.qcow2* disk images to our
 | 
				
			||||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 | 
					uncloud server. Currently, our *alpine-untouched.qcow2* is not tracked by
 | 
				
			||||||
This step is optional if you just want to test ucloud. However, sooner or later
 | 
					ucloud. We can only make images from tracked files. So, we need to track the
 | 
				
			||||||
you want to create OS images with ucloud-init to properly
 | 
					file by running File Scanner
 | 
				
			||||||
contexualize VMs.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
1. Start a VM with OS image on which you want to install ucloud-init
 | 
					 | 
				
			||||||
2. Execute the following command on the started VM
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
   .. code-block:: sh
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    apk add git
 | 
					 | 
				
			||||||
    git clone https://code.ungleich.ch/ucloud/ucloud-init.git
 | 
					 | 
				
			||||||
    cd ucloud-init
 | 
					 | 
				
			||||||
    sh ./install.sh
 | 
					 | 
				
			||||||
3. Congratulations. Your image is now ucloud-init ready.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Upload Sample OS Image
 | 
					 | 
				
			||||||
~~~~~~~~~~~~~~~~~~~~~~
 | 
					 | 
				
			||||||
Execute the following to get the sample OS image file.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
.. code-block:: sh
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    mkdir /var/www/admin
 | 
					 | 
				
			||||||
    (cd /var/www/admin && wget https://cloud.ungleich.ch/s/qTb5dFYW5ii8KsD/download)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Run File Scanner and Image Scanner
 | 
					 | 
				
			||||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 | 
					 | 
				
			||||||
Currently, our uploaded file *alpine-untouched.qcow2* is not tracked by ucloud. We can only make
 | 
					 | 
				
			||||||
images from tracked files. So, we need to track the file by running File Scanner
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
.. code-block:: sh
 | 
					.. code-block:: sh
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -11,14 +11,13 @@ Welcome to ucloud's documentation!
 | 
				
			||||||
   :caption: Contents:
 | 
					   :caption: Contents:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
   introduction
 | 
					   introduction
 | 
				
			||||||
   user-guide
 | 
					 | 
				
			||||||
   setup-install
 | 
					   setup-install
 | 
				
			||||||
 | 
					   vm-images
 | 
				
			||||||
 | 
					   user-guide
 | 
				
			||||||
   admin-guide
 | 
					   admin-guide
 | 
				
			||||||
   user-guide/how-to-create-an-os-image-for-ucloud
 | 
					 | 
				
			||||||
   troubleshooting
 | 
					   troubleshooting
 | 
				
			||||||
   hacking
 | 
					   hacking
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 | 
				
			||||||
Indices and tables
 | 
					Indices and tables
 | 
				
			||||||
==================
 | 
					==================
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										66
									
								
								docs/source/vm-images.rst
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										66
									
								
								docs/source/vm-images.rst
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,66 @@
 | 
				
			||||||
 | 
					VM images
 | 
				
			||||||
 | 
					==================================
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					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)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Upstream images
 | 
				
			||||||
 | 
					---------------
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					The 'official' uncloud images are defined in the `uncloud/images
 | 
				
			||||||
 | 
					<https://code.ungleich.ch/uncloud/images>`_ repository.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					How to make you own Uncloud images
 | 
				
			||||||
 | 
					----------------------------------
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.. note::
 | 
				
			||||||
 | 
					  It is fairly easy to create your own images for uncloud, as the common
 | 
				
			||||||
 | 
					  operations (which are detailed below) can be automatically handled by the
 | 
				
			||||||
 | 
					  `uncloud/uncloud-init <https://code.ungleich.ch/uncloud/uncloud-init>`_ tool.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					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.
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue