In this chapter, we will cover the following topics:
Networking in OpenStack is provided by a project that goes by the name of Neutron. Neutron is an API-driven system that manages physical and virtual networking resources in an OpenStack cloud. Operators and users can leverage the Neutron API to build rich network architectures that best suit the requirements of their applications.
Neutron utilizes a pluggable and extensible architecture that allows developers to write robust drivers that implement and configure virtual and physical network resources, including switches, routers, firewalls, and load balancers. Neutron is composed of an API server and various agents that are responsible for implementing the virtual network architected by users. The following diagram demonstrates how the Neutron API server interacts with various plugins and agents to construct networking in the cloud:
The figure demonstrates the interaction between the Neutron API service, Neutron plugins and drivers, and services such as L2 and L3 agents in a stock OpenStack-based cloud. As network actions are performed via the API or agents, Neutron publishes messages to a queue that are consumed and implemented by the agents.
This chapter will cover many common networking-related tasks, but will not go far into the details of any given topic. For an introduction to the fundamentals of Neutron networking, refer to OpenStack Networking Essentials, Packt Publishing, 2016. For a more in-depth look at Neutron features, including the core functionality of switching and routing, load balancing, VPN, and more, refer to Learning OpenStack Networking, Second Edition, Packt Publishing, 2015.
18.119.167.248