Deployment examples

Deployment examples

The following deployment examples provide building blocks of increasing architectural complexity using the Networking service reference architecture which implements the Modular Layer 2 (ML2) plug-in and either the Open vSwitch (OVS) or Linux bridge mechanism drivers. Both mechanism drivers support the same basic features such as provider networks, self-service networks, and routers. However, more complex features often require a particular mechanism driver. Thus, you should consider the requirements (or goals) of your cloud before choosing a mechanism driver.

After choosing a mechanism driver, the deployment examples generally include the following building blocks:

  1. Provider (public/external) networks using IPv4 and IPv6
  2. Self-service (project/private/internal) networks including routers using IPv4 and IPv6
  3. High-availability features
  4. Other features such as BGP dynamic routing

Prerequisites

Prerequisites, typically hardware requirements, generally increase with each building block. Each building block depends on proper deployment and operation of prior building blocks. For example, the first building block (provider networks) only requires one controller and two compute nodes, the second building block (self-service networks) adds a network node, and the high-availability building blocks typically add a second network node for a total of five nodes. Each building block could also require additional infrastructure or changes to existing infrastructure such as networks.

For basic configuration of prerequisites, see the latest Install Tutorials and Guides.

Note

Example commands using the openstack client assume version 3.2.0 or higher.

Nodes

The deployment examples refer one or more of the following nodes:

  • Controller: Contains control plane components of OpenStack services and their dependencies.
    • Two network interfaces: management and provider.
    • Operational SQL server with databases necessary for each OpenStack service.
    • Operational message queue service.
    • Operational OpenStack Identity (keystone) service.
    • Operational OpenStack Image Service (glance).
    • Operational management components of the OpenStack Compute (nova) service with appropriate configuration to use the Networking service.
    • OpenStack Networking (neutron) server service and ML2 plug-in.
  • Network: Contains the OpenStack Networking service layer-3 (routing) component. High availability options may include additional components.
    • Three network interfaces: management, overlay, and provider.
    • OpenStack Networking layer-2 (switching) agent, layer-3 agent, and any dependencies.
  • Compute: Contains the hypervisor component of the OpenStack Compute service and the OpenStack Networking layer-2, DHCP, and metadata components. High-availability options may include additional components.
    • Two network interfaces: management and provider.
    • Operational hypervisor components of the OpenStack Compute (nova) service with appropriate configuration to use the Networking service.
    • OpenStack Networking layer-2 agent, DHCP agent, metadata agent, and any dependencies.

Each building block defines the quantity and types of nodes including the components on each node.

Note

You can virtualize these nodes for demonstration, training, or proof-of-concept purposes. However, you must use physical hosts for evaluation of performance or scaling.

Networks and network interfaces

The deployment examples refer to one or more of the following networks and network interfaces:

  • Management: Handles API requests from clients and control plane traffic for OpenStack services including their dependencies.
  • Overlay: Handles self-service networks using an overlay protocol such as VXLAN or GRE.
  • Provider: Connects virtual and physical networks at layer-2. Typically uses physical network infrastructure for switching/routing traffic to external networks such as the Internet.

Note

For best performance, 10+ Gbps physical network infrastructure should support jumbo frames.

For illustration purposes, the configuration examples typically reference the following IP address ranges:

  • Provider network 1:
    • IPv4: 203.0.113.0/24
    • IPv6: fd00:203:0:113::/64
  • Provider network 2:
    • IPv4: 192.0.2.0/24
    • IPv6: fd00:192:0:2::/64
  • Self-service networks:
    • IPv4: 198.51.100.0/24 in /24 segments
    • IPv6: fd00:198:51::/48 in /64 segments

You may change them to work with your particular network infrastructure.

Creative Commons Attribution 3.0 License

Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.