Architecture
Physical network diagram
This 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.