Traffic isolation and IP allocation with VLANs
When you plan for VLANs, you start with several subnets, from which you allocate individual IP addresses. When you use multiple subnets you can separate traffic between systems into VLANs.
For example, it is ideal that your management or API traffic is not on the same network as systems that serve web traffic. Traffic between VLANs travels through a router where you can implement firewalls to govern traffic flow.
You must plan your VLANs as part of your overall plan that includes traffic isolation, high availability, and IP address utilization for the various types of virtual networking resources in your deployment.
Required data center networks Copy linkLink copied!
Red Hat OpenStack Services on OpenShift (RHOSO) requires a standard set of physical data center networks to isolate different types of network traffic and ensure reliable service communication.
- Control plane network
- Used by the OpenStack Operator for Ansible SSH access to deploy and connect to the data plane nodes from the Red Hat OpenShift Container Platform (RHOCP) environment. This network is also used by data plane nodes for live migration of instances.
- Designate network
- Used internally by the RHOSO DNS service (designate) to manage the DNS servers. For more information, see DNS service dedicated networks in Extend.
- Designateext network
- Used to provide external access to the DNS service resolver and the DNS servers.
- External network
-
An optional network that is used when required for your environment. For example, you might create an external network for any of the following purposes:
- To provide virtual machine instances with Internet access.
- To create flat provider networks that are separate from the control plane.
- To configure VLAN provider networks on a separate bridge from the control plane.
- To provide access to virtual machine instances with floating IPs on a network other than the control plane network.
Note When an external network is used for workloads, an OVN gateway is required in some use cases. For more information, see on use cases and available options, see Configure a control plane OVN gateway with a dedicated NIC in Configure.
- Internal API network
- Used for internal communication between RHOSO components.
- Octavia network
- Used to connect Load-balancing service (octavia) controllers running in the control plane. For more information, see Octavia network in Extend.
- Storage network
- Used for block storage, RBD, NFS, FC, and iSCSI.
- Storage Management network
-
An optional network that is used by storage components. For example, Red Hat Ceph Storage uses the Storage Management network in a hyperconverged infrastructure (HCI) environment as the
cluster_networkto replicate data.Note For more information about Red Hat Ceph Storage network configuration, see "Ceph network configuration" in the Red Hat Ceph Storage Configuration Guide:
- Red Hat Ceph Storage 7 Configuration Guide
- Red Hat Ceph Storage 8 Configuration Guide
- Red Hat Ceph Storage 9 Configuring > Ceph network configuration
- Tenant (project) network
- Used for data communication between virtual machine instances within the cloud deployment.
The following table details the default networks used in a RHOSO deployment.
| Network name | CIDR | NetConfig allocation range |
MetalLBIPAddressPool range |
net-attach-def IPAM range |
RHOCP workernncp range |
|---|---|---|---|---|---|
|
|
192.168.122.0/24 |
192.168.122.100 - 192.168.122.250 |
192.168.122.80 - 192.168.122.90 |
192.168.122.30 - 192.168.122.70 |
192.168.122.10 - 192.168.122.20 |
|
|
172.26.0.0/24 |
n/a |
n/a |
172.26.0.30 - 172.26.0.70 |
172.26.0.10 - 172.26.0.20 |
|
|
172.34.0.0/24 |
n/a |
172.34.0.80 - 172.34.0.120 |
172.34.0.30 - 172.34.0.70 |
172.34.0.10 - 172.34.0.20 |
|
|
10.0.0.0/24 |
10.0.0.100 - 10.0.0.250 |
n/a |
n/a |
n/a |
|
|
172.17.0.0/24 |
172.17.0.100 - 172.17.0.250 |
172.17.0.80 - 172.17.0.90 |
172.17.0.30 - 172.17.0.70 |
172.17.0.10 - 172.17.0.20 |
|
|
172.23.0.0/24 |
n/a |
n/a |
172.23.0.30 - 172.23.0.70 |
n/a |
|
|
172.18.0.0/24 |
172.18.0.100 - 172.18.0.250 |
n/a |
172.18.0.30 - 172.18.0.70 |
172.18.0.10 - 172.18.0.20 |
|
|
172.20.0.0/24 |
172.20.0.100 - 172.20.0.250 |
n/a |
172.20.0.30 - 172.20.0.70 |
172.20.0.10 - 172.20.0.20 |
|
|
172.19.0.0/24 |
172.19.0.100 - 172.19.0.250 |
n/a |
172.19.0.30 - 172.19.0.70 |
172.19.0.10 - 172.19.0.20 |
IP address allocation for nodes and VIPs Copy linkLink copied!
Review IP address consumption by physical nodes and virtual IP address pools.
- Physical nodes - Each physical NIC requires one IP address. It is common practice to dedicate physical NICs to specific functions. For example, allocate management and NFS traffic to distinct physical NICs, sometimes with multiple NICs connecting across to different switches for redundancy purposes.
- Virtual IPs (VIPs) for High Availability - Plan to allocate between one and three VIPs for each network that controller nodes share.
Virtual networking resources and IP allocation Copy linkLink copied!
Review virtual networking resources and their IP address consumption.
Virtual resources consume IP addresses in your RHOSO environment. These resources are considered local to the cloud infrastructure, and do not need to be reachable by systems in the external physical network.
The resources include:
- Project networks - Each project network requires a subnet that it can use to allocate IP addresses to instances.
- Virtual routers - Each router interface plugging into a subnet requires one IP address.
- Instances - Each instance requires an address from the project subnet that hosts the instance. If you require ingress traffic, you must allocate a floating IP address to the instance from the designated external network.
- Management traffic - Includes OpenStack Services and API traffic. All services share a small number of VIPs. API, RPC and database services communicate on the internal API VIP.
Network subnet allocation example Copy linkLink copied!
Review an example network plan with subnet address ranges and allocations.
- Example subnet plan
-
Subnet name Address range Number of addresses Subnet Mask Provisioning network
192.168.100.1 - 192.168.100.250
250
255.255.255.0
Internal API network
172.16.1.10 - 172.16.1.250
241
255.255.255.0
Storage
172.16.2.10 - 172.16.2.250
241
255.255.255.0
Storage Management
172.16.3.10 - 172.16.3.250
241
255.255.255.0
Tenant network (Geneve/VLAN)
172.16.4.10 - 172.16.4.250
241
255.255.255.0
External network (incl. floating IPs)
10.1.2.10 - 10.1.3.222
469
255.255.254.0
Provider network (infrastructure)
10.10.3.10 - 10.10.3.250
241
255.255.252.0
Multi-tenancy networking with subnets Copy linkLink copied!
Plan your subnets to provide secure, efficient multi-tenancy networking.
Subnets enable network connectivity to instances. A subnet is a pool of IP addresses. Instances are assigned to a Networking service (neutron) network. One network can have multiple subnets, and you can also add IP addresses from multiple subnets to the port.
You can create subnets only in pre-existing networks. Project networks in the Networking service can host multiple subnets. This is useful if you intend to host distinctly different systems in the same network, and prefer a measure of isolation between them.
You can decrease network latency and load by grouping systems in the same subnet that require a high volume of traffic between each other.