Networks

The configuration of the individual networks is distributed across all environments and the inventory and is summarized here.

These networks do not all have to be different. They do not all have to be routed to different VLANs or physical interfaces. Only neutron_external_interface should be on its own physical interface.

The following networks are used:

Managment / Console

The managment or console network is there to access all nodes via SSH as well as some infrastructure and helper services, e.g. phpMyAdmin or the web interface of ARA.

The network configured with the console_interface variable in the host inventory.

inventory/host_vars/<hostname>.yml
console_interface: eth0

Internal

The internal network is used for internal communication between different hosts. It is also used for traffic that has no dedicated network. Ansible playbooks also access this network.

inventory/host_vars/<hostname>.yml
##########################################################
# generic

managment_interface: eth1
internal_address: 10.0.1.2
fluentd_host: 10.0.1.2
inventory/host_vars/<hostname>.yml
##########################################################
# kolla

network_interface: eth1
environments/kolla/configuration.yml
##########################################################
# haproxy

kolla_internal_fqdn: internal-api.betacloud.xyz
environments/configuration.yml
##########################################################
# hosts

host_additional_entries:
  internal-api.betacloud.xyz: 10.0.1.10
environments/configuration.yml
##########################
# kolla

kolla_internal_vip_address: 10.0.1.10

Monitoring

The monitoring network normally falls together with the internal network. Those can be further separated at environments/monitorning/configuration.yml.

inventory/host_vars/<hostname>.yml
##########################################################
# monitoring

prometheus_scraper_interface: eth1

Tunnel

Traffic between guest virtual machines on different compute nodes or between layer 3 networking components such as virtual routers are usually tunneled through VXLAN or GRE tunnels over the tunnel network.

inventory/host_vars/<hostname>.yml
##########################################################
# kolla

tunnel_interface: eth2

Migration

Live migration of instances is performed over this network.

inventory/host_vars/<hostname>.yml
##########################################################
# kolla

migration_interface: eth2

External API

External API endpoints are in this network.

inventory/host_vars/<hostname>.yml
##########################################################
# kolla

kolla_external_vip_interface: eth3
environments/kolla/configuration.yml
##########################################################
# haproxy

kolla_external_fqdn: external-api.betacloud.xyz
environments/configuration.yml
##########################################################
# hosts

host_additional_entries:
  external-api.betacloud.xyz: 10.0.3.10
environments/configuration.yml
##########################################################
# kolla

kolla_external_vip_address: 10.0.3.10

External

The external network connects virtual machines to the outside.

inventory/host_vars/<hostname>.yml
##########################################################
# kolla

neutron_external_interface: eth4

Loadbalancer

inventory/host_vars/<hostname>.yml
##########################################################
# kolla

octavia_network_interface: eth5

Storage Frontend

The storage frontend network is the connection between ceph nodes and all other nodes.

inventory/host_vars/<hostname>.yml
##########################################################
# kolla

storage_interface: eth5
inventory/host_vars/<hostname>.yml
##########################################################
# ceph

monitor_interface: eth5
environments/kolla/configuration.yml
##########################################################
# external ceph

ceph_public_network: 10.0.5.0/24
environments/ceph/configuration.yml
##########################################################
# network

public_network: 10.0.5.0/24
environments/monitoring/configuration.yml
##########################################################
# exporter

prometheus_exporter_ceph_public_network: 10.0.5.0/24

Storage Backend

The storage backend network is the internal connection between ceph nodes.

environments/ceph/configuration.yml
##########################################################
# network

cluster_network: 10.0.6.0/24