Revision 7a8df455 docs/quick-install-admin-guide.rst
b/docs/quick-install-admin-guide.rst | ||
---|---|---|
765 | 765 |
* Uploading your custom Images to Pithos+ |
766 | 766 |
* Spawning VMs from those custom Images |
767 | 767 |
* Registering existing Pithos+ files as Images |
768 |
* Connect VMs to the Internet |
|
769 |
* Create Private Networks |
|
770 |
* Add VMs to Private Networks |
|
768 | 771 |
|
769 | 772 |
please continue with the rest of the guide. |
770 | 773 |
|
771 | 774 |
|
772 |
Installation of Cyclades (and Plankton) on node1 |
|
773 |
================================================ |
|
774 |
|
|
775 |
This section describes the installation of Cyclades. Cyclades is Synnefo's |
|
776 |
Compute service. Plankton (the Image Registry service) will get installed |
|
777 |
automatically along with Cyclades, because it is contained in the same Synnefo |
|
778 |
component right now. |
|
775 |
Cyclades (and Plankton) Prerequisites |
|
776 |
===================================== |
|
779 | 777 |
|
780 | 778 |
Before proceeding with the Cyclades (and Plankton) installation, make sure you |
781 | 779 |
have successfully set up Astakos and Pithos+ first, because Cyclades depends |
... | ... | |
785 | 783 |
Besides Astakos and Pithos+, you will also need a number of additional working |
786 | 784 |
prerequisites, before you start the Cyclades installation. |
787 | 785 |
|
788 |
Cyclades Prerequisites |
|
789 |
---------------------- |
|
790 |
|
|
791 | 786 |
Ganeti |
792 |
~~~~~~
|
|
787 |
------
|
|
793 | 788 |
|
794 | 789 |
`Ganeti <http://code.google.com/p/ganeti/>`_ handles the low level VM management |
795 | 790 |
for Cyclades, so Cyclades requires a working Ganeti installation at the backend. |
... | ... | |
844 | 839 |
.. _cyclades-install-snfimage: |
845 | 840 |
|
846 | 841 |
snf-image |
847 |
~~~~~~~~~
|
|
842 |
---------
|
|
848 | 843 |
|
849 | 844 |
Installation |
850 |
````````````
|
|
845 |
~~~~~~~~~~~~
|
|
851 | 846 |
For :ref:`Cyclades <cyclades>` to be able to launch VMs from specified Images, |
852 | 847 |
you need the :ref:`snf-image <snf-image>` OS Definition installed on *all* |
853 | 848 |
VM-capable Ganeti nodes. This means we need :ref:`snf-image <snf-image>` on |
... | ... | |
882 | 877 |
snf-image-host to run successfully. |
883 | 878 |
|
884 | 879 |
Configuration |
885 |
`````````````
|
|
880 |
~~~~~~~~~~~~~
|
|
886 | 881 |
snf-image supports native access to Images stored on Pithos+. This means that |
887 | 882 |
snf-image can talk directly to the Pithos+ backend, without the need of providing |
888 | 883 |
a public URL. More details, are described in the next section. For now, the only |
... | ... | |
905 | 900 |
Pithos+. |
906 | 901 |
|
907 | 902 |
Testing |
908 |
``````` |
|
909 |
|
|
903 |
~~~~~~~ |
|
910 | 904 |
You can test that snf-image is successfully installed by running on the |
911 | 905 |
:ref:`GANETI-MASTER <GANETI_NODES>` (in our case node1): |
912 | 906 |
|
... | ... | |
923 | 917 |
supported Image formats. |
924 | 918 |
|
925 | 919 |
snf-image's actual Images |
926 |
~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
920 |
-------------------------
|
|
927 | 921 |
|
928 | 922 |
Now that snf-image is installed successfully we need to provide it with some |
929 | 923 |
Images. :ref:`snf-image <snf-image>` supports Images stored in ``extdump``, |
... | ... | |
964 | 958 |
<https://code.grnet.gr/projects/snf-image/wiki#Sample-Images>`_. |
965 | 959 |
|
966 | 960 |
Spawning a VM from a Pithos+ Image, using Ganeti |
967 |
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
961 |
------------------------------------------------
|
|
968 | 962 |
|
969 | 963 |
Now, it is time to test our installation so far. So, we have Astakos and |
970 | 964 |
Pithos+ installed, we have a working Ganeti installation, the snf-image |
... | ... | |
1019 | 1013 |
move on to networking now. |
1020 | 1014 |
|
1021 | 1015 |
.. warning:: |
1022 |
You can bypass the networking sections and go straight to `FIXME`, if you do |
|
1023 |
not want to setup the Cyclades Network Service, but only the Cyclades Compute |
|
1024 |
Service (recommended for now). |
|
1016 |
You can bypass the networking sections and go straight to |
|
1017 |
:ref:`RAPI user <rapi-user>`, if you do not want to setup the Cyclades |
|
1018 |
Network Service, but only the Cyclades Compute Service (recommended for |
|
1019 |
now). |
|
1025 | 1020 |
|
1026 | 1021 |
Network setup overview |
1027 |
~~~~~~~~~~~~~~~~~~~~~~
|
|
1022 |
----------------------
|
|
1028 | 1023 |
|
1029 | 1024 |
This part is deployment-specific and must be customized based on the specific |
1030 | 1025 |
needs of the system administrator. However, to do so, the administrator needs |
... | ... | |
1032 | 1027 |
backend appropriately, before installing Cyclades. |
1033 | 1028 |
|
1034 | 1029 |
Network @ Cyclades level |
1035 |
````````````````````````
|
|
1030 |
~~~~~~~~~~~~~~~~~~~~~~~~
|
|
1036 | 1031 |
|
1037 | 1032 |
Cyclades understands two types of Virtual Networks: |
1038 | 1033 |
|
... | ... | |
1061 | 1056 |
at Ganeti level, for Cyclades to be able to issue the corresponding commands. |
1062 | 1057 |
|
1063 | 1058 |
Network @ Ganeti level |
1064 |
``````````````````````
|
|
1059 |
~~~~~~~~~~~~~~~~~~~~~~
|
|
1065 | 1060 |
|
1066 | 1061 |
Currently, Ganeti does not support IP Pool management. However, we've been |
1067 | 1062 |
actively in touch with the official Ganeti team, who are reviewing a relatively |
... | ... | |
1083 | 1078 |
get updated to become compatible with that Ganeti version. |
1084 | 1079 |
|
1085 | 1080 |
Network @ Physical host level |
1086 |
`````````````````````````````
|
|
1081 |
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
1087 | 1082 |
|
1088 | 1083 |
We talked about the two types of Network from the Cyclades perspective, from the |
1089 | 1084 |
VMs perspective and from Ganeti's perspective. Finally, we need to talk about |
... | ... | |
1099 | 1094 |
package for dynamically serving specific public IPs managed by Ganeti. |
1100 | 1095 |
|
1101 | 1096 |
Public Network setup |
1102 |
~~~~~~~~~~~~~~~~~~~~
|
|
1097 |
--------------------
|
|
1103 | 1098 |
|
1104 | 1099 |
Physical hosts' public network setup |
1105 |
````````````````````````````````````
|
|
1100 |
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
1106 | 1101 |
|
1107 | 1102 |
The physical hosts' setup is out of the scope of this guide. |
1108 | 1103 |
|
... | ... | |
1115 | 1110 |
then you need to inform Ganeti about the Network's IP range. |
1116 | 1111 |
|
1117 | 1112 |
Add the public network to Ganeti |
1118 |
````````````````````````````````
|
|
1113 |
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
1119 | 1114 |
|
1120 | 1115 |
Once you have Ganeti with IP pool management up and running, you need to choose |
1121 | 1116 |
the public network for your VMs and add it to Ganeti. Let's assume, that you |
... | ... | |
1138 | 1133 |
each NIC). |
1139 | 1134 |
|
1140 | 1135 |
NFDHCPD |
1141 |
```````
|
|
1136 |
~~~~~~~
|
|
1142 | 1137 |
|
1143 | 1138 |
At this point, Ganeti knows about your preferred network, it can manage the IP |
1144 | 1139 |
pool and choose a specific IP for each new VM's NIC. However, the actual |
... | ... | |
1176 | 1171 |
own, according to your underlying network configuration. |
1177 | 1172 |
|
1178 | 1173 |
Testing the Public Network |
1179 |
``````````````````````````
|
|
1174 |
~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
1180 | 1175 |
|
1181 | 1176 |
So, we have setup the bridges/vlans on the physical hosts appropriately, we have |
1182 | 1177 |
added the desired network to Ganeti, we have installed nfdhcpd and installed the |
... | ... | |
1221 | 1216 |
Networks setup. |
1222 | 1217 |
|
1223 | 1218 |
Private Networks setup |
1224 |
~~~~~~~~~~~~~~~~~~~~~~
|
|
1219 |
----------------------
|
|
1225 | 1220 |
|
1226 | 1221 |
Physical hosts' private networks setup |
1227 |
``````````````````````````````````````
|
|
1222 |
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
1228 | 1223 |
|
1229 | 1224 |
At the physical host's level, it is the administrator's responsibility to |
1230 | 1225 |
configure the network appropriately, according to his/her needs (as for the |
... | ... | |
1270 | 1265 |
we will configure Cyclades to talk to those 20 pre-provisioned bridges. |
1271 | 1266 |
|
1272 | 1267 |
Testing the Private Networks |
1273 |
````````````````````````````
|
|
1268 |
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
1274 | 1269 |
|
1275 | 1270 |
To test the Private Networks, we will create two instances and put them in the |
1276 | 1271 |
same Private Network (``prv1``). This means that the instances will have a |
... | ... | |
1335 | 1330 |
If everything works as expected, then you have finished the Network Setup at the |
1336 | 1331 |
backend for both types of Networks (Public & Private). |
1337 | 1332 |
|
1333 |
.. _rapi-user: |
|
1334 |
|
|
1338 | 1335 |
Synnefo RAPI user |
1339 |
~~~~~~~~~~~~~~~~~
|
|
1336 |
-----------------
|
|
1340 | 1337 |
|
1341 |
Once you have a working Ganeti installation create a new RAPI user that will
|
|
1338 |
As a last step before installing Cyclades, create a new RAPI user that will
|
|
1342 | 1339 |
have ``write`` access. Cyclades will use this user to issue commands to Ganeti, |
1343 | 1340 |
so we will call the user ``cyclades``. You can do this, by editting the file |
1344 | 1341 |
``/var/lib/ganeti/rapi/users`` and adding the line: |
... | ... | |
1350 | 1347 |
More about Ganeti's RAPI users `here. |
1351 | 1348 |
<http://docs.ganeti.org/ganeti/2.5/html/rapi.html#introduction>`_ |
1352 | 1349 |
|
1350 |
You have now finished with all needed Prerequisites for Cyclades (and |
|
1351 |
Plankton). Let's move on to the actual Cyclades installation. |
|
1352 |
|
|
1353 |
|
|
1354 |
Installation of Cyclades (and Plankton) on node1 |
|
1355 |
================================================ |
|
1356 |
|
|
1357 |
This section describes the installation of Cyclades. Cyclades is Synnefo's |
|
1358 |
Compute service. Plankton (the Image Registry service) will get installed |
|
1359 |
automatically along with Cyclades, because it is contained in the same Synnefo |
|
1360 |
component right now. |
|
1361 |
|
|
1353 | 1362 |
|
1354 | 1363 |
.. _cyclades-install-vncauthproxy: |
1355 | 1364 |
|
1356 | 1365 |
vncauthproxy |
1357 |
~~~~~~~~~~~~
|
|
1366 |
------------
|
|
1358 | 1367 |
|
1359 | 1368 |
To support OOB console access to the VMs over VNC, the vncauthproxy |
1360 | 1369 |
daemon must be running on every :ref:`APISERVER <APISERVER_NODE>` node. |
Also available in: Unified diff