[doc] Add guide on how to create VMs for ucloud

This commit is contained in:
Nico Schottelius 2019-11-17 18:49:40 +01:00
parent fefbe2e1c7
commit 21df2367bb
3 changed files with 54 additions and 1 deletions

View file

@ -16,4 +16,3 @@ publish: build
build:
$(SPHINXBUILD) "$(SOURCEDIR)" "$(BUILDDIR)"

View file

@ -14,6 +14,7 @@ Welcome to ucloud's documentation!
introduction/installation
usage/usage-for-admins
usage/usage-for-users
usage/how-to-create-an-os-image-for-ucloud
Indices and tables

View file

@ -0,0 +1,53 @@
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.