Architecture¶
NOTE This documentation is work in progress
Overview of OpenStack¶
OpenStack is a virtualisation and network orchestrator, organised into software modules, also called components, each dealing with a specific task such as
virtualistaion/compute (“Nova”)
storage (“Cinder” or “Swift)
network configuration (“Neutron”)
databases (“Trove”)
A new version of OpenStack is released approximately every six months.
The components are executed by default in LXC containers in order to better isolate them, with the notable exceptions of the “compute” part of Nova because it takes care of virtualization, and of Cinder because it manages block volumes.
OpenStack architecture at the ILL¶
At the ILL, OpenStack is currently deployed using Ansible on 10 nodes: 2 controller nodes and 8 compute nodes.
The 2 controler nodes host various management components, including:
the virtualization API (“Nova”)
the orchestration API (“Heat”)
the image management API (“Glance”)
identity management (“Keystone”)
the definition of the network (“Neutron”)
storage (“Cinder” with NFS)
the dashboard web interface (“Horizon”)
a load-balancer (“HAproxy”)
The 8 compute nodes are hypervisors (“Nova” with KVM / Qemu).
And in addition to these machines where Openstack deployment is automatic, we have:
1 deployment host
This is the host from which Ansible will be configured and launched, as opposed to “target hosts” (the deployed machines).
2 dedicated switches