From a5d48f40dffd5c7cf01692f11002529fc5b5e7aa Mon Sep 17 00:00:00 2001 From: Brent Eagles Date: Wed, 5 Jun 2024 15:27:14 -0230 Subject: [PATCH] Add documentation about the management network Some documentation about how the management network works. --- MANAGEMENT_NETWORK.md | 318 ++++++++++++++++++++++++++++++++++++++++++ images/mgmt_net.jpg | Bin 0 -> 746845 bytes 2 files changed, 318 insertions(+) create mode 100644 MANAGEMENT_NETWORK.md create mode 100755 images/mgmt_net.jpg diff --git a/MANAGEMENT_NETWORK.md b/MANAGEMENT_NETWORK.md new file mode 100644 index 00000000..7f0a18db --- /dev/null +++ b/MANAGEMENT_NETWORK.md @@ -0,0 +1,318 @@ +# The Octavia Amphora Management Network + +The Octavia Amphora controller pods require network connectivity across the +OpenStack cloud in order to monitor and manage amphora Load Balancer VMs . This +document describes the elements that implement the management network. + +The _Octavia management network_ is actually two OpenStack networks: a tenant +network that is connected to the amphora VMs; and a provider network connecting +Amphora controllers running in the podified control plane through a network +defined by a kubernetes network attachment. An OpenStack router routes packets +between the two with both the control plane pods and load balancer VMs having +routes configured to direct traffic through the router for those networks. + +## Configuring Octavia's Control Plane Networking + +![networking](images/mgmt_net.jpg) + +## How To Add Octavia to an existing deployment + +Adding Octavia to an existing deployment requires a L2 connection between +OpenShift worker nodes hosting the amphora controller pods and a network +attachment to give pods access to that connection as well as allow connections +between pods on a worker node. The former is configured through the +`NodeNetworkConfigurationPolicy` custom resource and the latter through a +`NetworkAttachmentDefinition` custom resource. The following provides examples +of what these CR modifications might look like. Please note the actual values +for things like `base-iface` and appropriate network IP ranges may vary +depending on hardware configuration or local networking policies, etc.. + +### Add the octavia interfaces to each NodeNetworkConfigurationPolicy. + +This example assumes that the interface **enp6s0** is being used as the base +interface for the VLAN interfaces configured for network isolation on your +OpenShift nodes. + +The vlan interface is added as a port to the `octbr` bridge to allow pods + connected to `octavia` network attachment to communicate with pods running on +other worker nodes. As it is a VLAN interfaces, it also provides desirable +isolation from other networks that might share the same base interface or the +physical medium that the base interface is connected to. + +```sh +oc get -n openstack --no-headers nncp | cut -f 1 -d ' ' | while read ; do + oc patch -n openstack nncp $REPLY --type=merge --patch ' + spec: + desiredState: + interfaces: + - description: Octavia vlan host interface + name: enp6s0.24 + state: up + type: vlan + vlan: + base-iface: enp6s0 + id: 24 + - bridge: + options: + stp: + enabled: false + port: + - name: enp6s0.24 + description: Configuring bridge octbr + mtu: 1500 + name: octbr + state: up + type: linux-bridge + ' +done +``` + +### Add the octavia network attachment definition for the Octavia management network. + +The `octavia` network attachment is needed to connect pods that manage amphorae +and the OpenvSwitch pods (managed by the OVN operator). OpenStack uses the +podified OpenvSwitch instance to implement the route between the management +network's provider and tenant networks. This attachment must be a bridgeable +interface in the OpenvSwitch pod and must permit communication among other pods +on the same node. The _bridge_ attachment type is the only type that +supports this. While the _bridge_ attachment type does not enable connectivity +across nodes on it's own, the vlan interface added to the bridge in the +_NodeNetworkConfigurationPolicy_ above creates the necessary layer 2 link. + +```sh +cat >> octavia-nad.yaml << EOF_CAT +apiVersion: k8s.cni.cncf.io/v1 +kind: NetworkAttachmentDefinition +metadata: + labels: + osp/net: octavia + name: octavia + namespace: openstack +spec: + config: | + { + "cniVersion": "0.3.1", + "name": "octavia", + "type": "bridge", + "bridge": "octbr", + "ipam": { + "type": "whereabouts", + "range": "172.23.0.0/24", + "range_start": "172.23.0.30", + "range_end": "172.23.0.70", + "routes": [ + { + "dst": "172.24.0.0/16", + "gw" : "172.23.0.150" + } + ] + } + } +EOF_CAT +oc apply -n openstack -f octavia-nad.yaml +``` + +### Enabling octavia + +When enabling octavia, you need to configure the OVN controller to create a NIC +mapping for the `octavia` network attachment as well as add it to the +networkAttachments property for each Octavia service that controls amphorae. + +```sh +# Note: please add 'octavia: octbr' to existing nicMappings if there are +# existing values. Also the name 'controlplane' may be different for your +# deployment. +oc patch -n openstack openstackcontrolplane controlplane --type=merge --patch ' +spec: + ovn: + template: + ovnController: + nicMappings: + octavia: octbr + octavia: + enabled: true + template: + octaviaHousekeeping: + networkAttachments: + - octavia + octaviaHealthManager: + networkAttachments: + - octavia + octaviaWorker: + networkAttachments: + - octavia +' +``` + +When the operator is done deploying, the output of `oc get pods` should include +lines similar to the following (the actual names will vary by suffix): + +``` + octavia-api-5cf9bc78f7-4lmds 2/2 Running 0 42h + octavia-healthmanager-5g94j 1/1 Running 0 21h + octavia-housekeeping-5gtw8 1/1 Running 0 21h + octavia-image-upload-78b4b6c47c-xzdtl 1/1 Running 0 35h + octavia-worker-pq55m 1/1 Running 0 21h +``` + +## The Octavia Neutron LB Management Network + +Once the octavia operator has finished deploying octavia, the details of the +management network can be examined. The results of running +`oc rsh openstackclient openstack network list -f yaml` should include +`lb-mgmt-net` and `octavia-provider-net`: + +```yaml +- ID: 2e4fc309-546b-4ac8-9eae-aa8d70a27a9b + Name: octavia-provider-net + Subnets: + - eea45073-6e56-47fd-9153-12f7f49bc115 +- ID: 77881d3f-04b0-46cb-931f-d54003cce9f0 + Name: lb-mgmt-net + Subnets: + - e4ab96af-8077-4971-baa4-e0d40a16f55a +``` + +The `octavia-provider-net` is the external _provider_ network and uses the +`octavia` network attachment interface as the physical network. Linked to the +`octavia` network attachment. This network is limited to the OpenShift control +plane. `lb-mgmt-net` is a self-serve _tenant_ network that the connects the +Octavia amphora instances. + +> The amphora controllers do not have direct access to the `lb-mgmt-net` +> network. It is accessed through the `octavia` network attachment and a router +> that the octavia-operator manages. + +The subnets can be viewed by running `oc rsh openstackclient openstack subnet list -f yaml`: + +```yaml +- ID: e4ab96af-8077-4971-baa4-e0d40a16f55a + Name: lb-mgmt-subnet + Network: 77881d3f-04b0-46cb-931f-d54003cce9f0 + Subnet: 172.24.0.0/16 +- ID: eea45073-6e56-47fd-9153-12f7f49bc115 + Name: octavia-provider-subnet + Network: 2e4fc309-546b-4ac8-9eae-aa8d70a27a9b + Subnet: 172.23.0.0/24 +``` + +The subnet CIDR for `octavia-provider-subnet` is taken from the `octavia` +network attachment and the Subnet CIDR of `lb-mgmt-subnet` is taken from the +`dst` field of the `octavia` network attachment routes. + +The `octavia-link-router` handles the routing between the `octavia-provider-net` and +`lb-mgmt-net` networks. To view the routers run `oc rsh openstackclient openstack router list -f yaml`: + +```yaml +- ID: 371d800c-c803-4210-836b-eb468654462a + Name: octavia-link-router + Project: dc65b54e9cba475ba0adba7f898060f2 + State: true + Status: ACTIVE +``` + +The details of the `octavia-link-router` reveal how it is configured to treat +the networks. These can be retrieved by running +`oc rsh openstackclient openstack router show -f yaml octavia-link-router`: + +```yaml +admin_state_up: true +availability_zone_hints: [] +availability_zones: [] +created_at: '2024-06-11T17:20:57Z' +description: '' +enable_ndp_proxy: null +external_gateway_info: + enable_snat: false + external_fixed_ips: + - ip_address: 172.23.0.150 + subnet_id: eea45073-6e56-47fd-9153-12f7f49bc115 + network_id: 2e4fc309-546b-4ac8-9eae-aa8d70a27a9b +flavor_id: null +id: 371d800c-c803-4210-836b-eb468654462a +interfaces_info: +- ip_address: 172.24.1.89 + port_id: 1a44e94d-f44a-4752-81db-bc5402857a08 + subnet_id: e4ab96af-8077-4971-baa4-e0d40a16f55a +name: octavia-link-router +project_id: dc65b54e9cba475ba0adba7f898060f2 +revision_number: 4 +routes: [] +status: ACTIVE +tags: [] +tenant_id: dc65b54e9cba475ba0adba7f898060f2 +updated_at: '2024-06-11T17:21:01Z' +``` + +The `external_gateway_info` of the router will correspond to the `gw` field of +the `routes` provided in the network attachment. Also notice that source network +address translation is disabled. This is important as the amphora controllers +communicate with the amphora using the addresses on the `lb-mgmt-net` that +OpenStack allocates, not a floating IP. The `routes` of the network attachment +direct traffic from the amphora controllers to the router and the host routes on +the `lb-mgmt-net` subnet establish the reverse route. This host route will use +the `ip_address` of the port in `interfaces_info` as the next_hop and the +`Subnet` of the `octavia-provider-subnet` as the `Destination` to be routed to. + +To view the host routes for the `lb-mgmt-subnet`, run `oc rsh openstackclient openstack subnet show lb-mgmt-subnet -c host_routes -f yaml` + +```yaml +host_routes: +- destination: 172.23.0.0/24 + nexthop: 172.24.1.89 +``` + +The port used to connect `lb-mgmt-subnet` to the router is named +`lb-mgmt-router-port` and the details can be viewed by running `oc rsh +openstackclient openstack port show lb-mgmt-router-port -f yaml`. Note that the +`port_id` in the router's `interface_info` can be used instead of the port name. + +```yaml +admin_state_up: true +allowed_address_pairs: [] +binding_host_id: '' +binding_profile: {} +binding_vif_details: {} +binding_vif_type: unbound +binding_vnic_type: normal +created_at: '2024-06-11T17:20:41Z' +data_plane_status: null +description: '' +device_id: 371d800c-c803-4210-836b-eb468654462a +device_owner: network:router_interface +device_profile: null +dns_assignment: +- fqdn: host-172-24-1-89.openstackgate.local. + hostname: host-172-24-1-89 + ip_address: 172.24.1.89 +dns_domain: '' +dns_name: '' +extra_dhcp_opts: [] +fixed_ips: +- ip_address: 172.24.1.89 + subnet_id: e4ab96af-8077-4971-baa4-e0d40a16f55a +id: 1a44e94d-f44a-4752-81db-bc5402857a08 +ip_allocation: immediate +mac_address: fa:16:3e:ba:be:ee +name: lb-mgmt-router-port +network_id: 77881d3f-04b0-46cb-931f-d54003cce9f0 +numa_affinity_policy: null +port_security_enabled: true +project_id: dc65b54e9cba475ba0adba7f898060f2 +propagate_uplink_status: null +qos_network_policy_id: null +qos_policy_id: null +resource_request: null +revision_number: 3 +security_group_ids: +- 055686ce-fb2d-409b-ab74-85df9ab3a9e0 +- 5c41444b-0863-4609-9335-d5a66bdbcad8 +status: ACTIVE +tags: [] +trunk_details: null +updated_at: '2024-06-11T17:21:03Z' +``` +The `fixed_ips`, `device_id` and `device_owner` are all of interest: +* `fixed_ips` will match the IP for the `interfaces_info` of the `octavia-link-router` +* `device_id` will match the ID for the `octavia-link-router` +* `device_owner` indicates that OpenStack is using the port as a router interface diff --git a/images/mgmt_net.jpg b/images/mgmt_net.jpg new file mode 100755 index 0000000000000000000000000000000000000000..cb9e7467454260308156611f16696832f66863c8 GIT binary patch literal 746845 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 Mv%gnD}Ft;}kq_0Q3 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