ArchitectureThis guide creates the following types of OpenStack
servers:The Cloud
Controller. Provides all functionality
of the cloud except actually hosting virtual machines
or providing network services. See the "Compute Node"
and "Network Controller" for details about those
roles. This server hosts the OpenStack Image
Service, Block Storage Service, Identity Service, and the
dashboard. It also runs portions of the OpenStack
Compute service, such as the API server, the scheduler,
conductor, console authenticator, and VNC service.
Finally, it hosts the API endpoint for the OpenStack
Network service.The Network
Controller. Provides the bulk of the
OpenStack Network services such as DHCP, layer 2
switching, layer 3 routing, floating IPs (which this
guide does not configure), and metadata connectivity.Compute Node. Runs
the OpenStack Compute service as well as the OpenStack
Network service agent (in this case, the Open vSwitch
plugin agent). This server also manages an
OpenStack-compatible hypervisor such as KVM or Xen.
This server hosts the actual virtual machines
(instances).OpenStack provides great flexibility with regard to how its
individual services can be hosted. For example, the services
that run on the Network Controller can easily be installed on
the Cloud Controller. As another example, the OpenStack Image
service can be installed on its own server (or many servers to
provide a more highly available service).With regard to cloud networking, a standard OpenStack
Network setup can have up to four distinct physical data
center networks. Note that these networks can be combined and
re-used. For example, the Management, Data, and API networks
are commonly the same network. For simplicity, this guide shows this configuration.Management
network. Used for internal
communication between OpenStack components. The IP
addresses on this network should be reachable only
within the data center.Data
network. Used for VM data communication
within the cloud deployment. The IP addressing
requirements of this network depend on the OpenStack
Networking plugin in use.External
network. Provides VMs with Internet
access in some deployment scenarios. The IP addresses
on this network should be reachable by anyone on the
Internet.API
network. Exposes all OpenStack APIs,
including the OpenStack Networking API, to
tenants. The IP addresses on this network should be
reachable by anyone on the Internet. This may be the
same network as the external network, as it is
possible to create a subnet for the external
network that uses IP allocation ranges to use only
less than the full range of IP addresses in an IP
block.