forked from uncloud/uncloud
66 lines
2 KiB
ReStructuredText
66 lines
2 KiB
ReStructuredText
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.
|