forked from uncloud/uncloud
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…
Reference in a new issue