Chapter 5. Planning your networks
Before you deploy RHOSO, take inventory of your networking requirements and the overall environment to inform your network design decisions.
5.1. Default physical networks
The following physical data center networks are typically implemented for a Red Hat OpenStack Services on OpenShift (RHOSO) deployment:
- Control plane network
- External network (optional)
- Internal API network
- Storage network
- Tenant (project) network
- Storage management network (optional)
For more information, see Default Red Hat OpenStack Services on OpenShift networks in the Deploying Red Hat OpenStack Services on OpenShift guide.
5.2. RHOSO network isolation
You must plan how your deployment hosts specific types of network traffic in isolation. This includes planning IP ranges, subnets, and virtual IPs, and configuring your NIC layout.
The Red Hat OpenStack Services on OpenShift (RHOSO) control plane services run as a Red Hat OpenShift Container Platform (RHOCP) workload. On the control plane, you use the NMState Operator to connect the worker nodes to the required isolated networks. You create a NetworkAttachmentDefinition (nad) custom resource (CR) for each isolated network to attach service pods to the isolated networks, where needed. You use the MetalLB Operator to expose internal service endpoints on the isolated networks. By default, the public service endpoints are exposed as RHOCP routes.
You must also create an L2Advertisement
resource to define how the VIPs are announced, and an IpAddressPool
resource to configure which IPs can be used as VIPs. In layer 2 mode, one node assumes the responsibility of advertising a service to the local network.
For more information, see Preparing RHOCP for RHOSO network isolation in the Deploying Red Hat OpenStack Services on OpenShift guide.
To create the data plane network, you define a NetConfig custom resource (CR) and specify all the subnets for the data plane networks. You must define at least one control plane network for your data plane. You can also define VLAN networks to create network isolation for composable networks, such as InternalAPI, Storage, and External. Each network definition must include the IP address assignment.
For more information, see Creating the data plane network in the Deploying Red Hat OpenStack Services on OpenShift guide.
5.3. NICs
A compact RHOSO deployment requires at least two NICs on each RHOSO control plane worker node.
One NIC on each worker node serves OpenShift. It provides connection between OpenShift components in the OpenShift cluster network.
The other NIC serves OpenStack. It connects the OpenStack services running on the worker nodes to the isolated networks on the RHOSO data plane.
5.3.1. NICs and scaling considerations
Network requirements vary based on environment and business requirements. For example, you may require the following networking capabilities:
- Dedicated NICs on RHOCP worker nodes for particular RHOSP isolated networks.
- Port switches with VLANs for the required isolated networks.
Consult with your RHOCP and network administrators about whether these are requirements in your deployment. Each Compute node requires at least one NIC. You can scale up to provide connections to the isolated networks.
5.4. Storage network planning considerations
For more information, see Storage networks in this guide.
5.5. Network functions virtualization (NFV)
Network functions virtualization (NFV) is a software-based solution that helps communication service providers (CSPs) to move beyond the traditional, proprietary hardware to achieve greater efficiency and agility and to reduce operational costs.
Using NFV in a Red Hat OpenStack Services on OpenShift (RHOSO) environment allows for IT and network convergence by providing a virtualized infrastructure that uses the standard virtualization technologies to virtualize network functions (VNFs) that run on hardware devices such as switches, routers, and storage. An NFV environment takes advantage of Data Plane Development Kit (DPDK) and Single Root I/O Virtualization (SR-IOV) technologies to improve packet processing speeds.
If you choose an NFV deployment, you must use Deploying a Network Functions Virtualization environment as your deployment guide instead of Deploying Red Hat OpenStack Services on OpenShift.
5.6. Additional resources for RHOSO network planning
- Kubernetes NMState Operator
- The Kubernetes NMState project
- Load balancing with MetalLB
- MetalLB documentation
- MetalLB in layer 2 mode
- Specify network interfaces that LB IP can be announced from
- Multiple networks
- Using the Multus CNI in OpenShift
- macvlan plugin
- whereabouts IPAM CNI plugin - Extended configuration
- About advertising for the IP address pools