root / docs / src / deployment.rst @ ceded986
History | View | Annotate | Download (2.5 kB)
1 |
.. _deployment: |
---|---|
2 |
|
3 |
Deployment |
4 |
========== |
5 |
|
6 |
Node types |
7 |
---------- |
8 |
|
9 |
Nodes in a Synnefo deployment belong in one of the following types: |
10 |
|
11 |
|
12 |
.. _DB_NODE: |
13 |
|
14 |
DB |
15 |
** |
16 |
A node [or more than one nodes, if using an HA configuration], running a DB |
17 |
engine supported by the Django ORM layer. The DB is the single source of |
18 |
truth for the servicing of API requests by Synnefo. |
19 |
Services: PostgreSQL / MySQL |
20 |
|
21 |
|
22 |
.. _APISERVER_NODE: |
23 |
|
24 |
APISERVER |
25 |
********* |
26 |
A node running the implementation of the OpenStack API, in Django. Any number |
27 |
of APISERVERs can be used, in a load-balancing configuration, without any |
28 |
special consideration. Access to a common DB ensures consistency. |
29 |
Services: Web server, vncauthproxy |
30 |
|
31 |
|
32 |
.. _QUEUE_NODE: |
33 |
|
34 |
QUEUE |
35 |
***** |
36 |
A node running the RabbitMQ software, which provides AMQP functionality. More |
37 |
than one QUEUE nodes may be deployed, in an HA configuration. Such |
38 |
deployments require shared storage, provided e.g., by DRBD. |
39 |
Services: RabbitMQ [rabbitmq-server] |
40 |
|
41 |
|
42 |
.. _LOGIC_NODE: |
43 |
|
44 |
LOGIC |
45 |
***** |
46 |
A node running the business logic of Synnefo, in Django. It dequeues |
47 |
messages from QUEUE nodes, and provides the context in which business logic |
48 |
functions run. It uses Django ORM to connect to the common DB and update the |
49 |
state of the system, based on notifications received from the rest of the |
50 |
infrastructure, over AMQP. |
51 |
Services: the Synnefo logic dispatcher [``synnefo-dispatcher``] |
52 |
|
53 |
|
54 |
.. _GANETI_NODES: |
55 |
|
56 |
GANETI-MASTER and GANETI-NODE |
57 |
***************************** |
58 |
A single GANETI-MASTER and a large number of GANETI-NODEs constitute the |
59 |
Ganeti backend for Synnefo, which undertakes all VM management functions. |
60 |
Any APISERVER can issue commands to the GANETI-MASTER, over RAPI, to effect |
61 |
changes in the state of the VMs. The GANETI-MASTER runs the Ganeti request |
62 |
queue. |
63 |
|
64 |
Services: |
65 |
only on GANETI-MASTER: |
66 |
the Synnefo Ganeti monitoring daemon [/ganeti/snf-ganeti-eventd] |
67 |
the Synnefo Ganeti hook [/ganeti/snf-ganeti-hook.py]. |
68 |
on each GANETI_NODE: |
69 |
a deployment-specific KVM ifup script |
70 |
properly configured `NFDHCPD`_ |
71 |
|
72 |
|
73 |
.. _WEBAPP_NODE: |
74 |
|
75 |
WEBAPP |
76 |
****** |
77 |
Synnefo WEBAPP node is the server that runs the web application contained within |
78 |
the synnefo package. At the current state Synnefo provides two web frontends. |
79 |
|
80 |
.. webapp-deploy: |
81 |
|
82 |
Web application deployment |
83 |
-------------------------- |
84 |
|
85 |
Using Apache |
86 |
************ |
87 |
|
88 |
.. todo:: document apache configuration |
89 |
|
90 |
Using nginx |
91 |
*********** |
92 |
|
93 |
.. todo:: document nginx configuration |
94 |
|
95 |
Serving static files |
96 |
******************** |
97 |
|
98 |
.. todo:: document serving static files instructions |
99 |
|