kube-ovn icon indicating copy to clipboard operation
kube-ovn copied to clipboard

(feature) Add Support for Multiple External Gateways

Open lucashalbert opened this issue 4 years ago • 0 comments

Per the https://mail.openvswitch.org/pipermail/ovs-dev/2021-January/379446.html patch, OVN soon will support multiple l3dgw ports per logical router. Given this, it would be extremely useful to support multiple external gateways.

The end goal of this feature request is to support multiple ovn-external-gw configMaps (or a single configMap for the multiple external gatways) in order to leverage multiple underlay network subnets (see example below).

Example: Underlay Subnet 0 (192.168.0.0/24) is accessible via eth1 interface on worker00

 apiVersion: v1
 kind: ConfigMap
 metadata:
   name: ovn-external-gw-config0
   namespace: kube-system
 data:
   enable-external-gw: "true"
   type: "centralized"
   external-gw-nodes: "worker00"
   external-gw-nic: "eth1"
   nic-ip: "192.168.0.1/24"
   nic-mac: "16:52:f3:13:6a:25"

Underlay Subnet 1 (192.168.1.0/24) accessible via eth1 interface on worker01

 apiVersion: v1
 kind: ConfigMap
 metadata:
   name: ovn-external-gw-config1
   namespace: kube-system
 data:
   enable-external-gw: "true"
   type: "centralized"
   external-gw-nodes: "worker01"
   external-gw-nic: "eth1"
   nic-ip: "192.168.1.1/24"
   nic-mac: "16:52:f3:13:6a:26"

Underlay Subnet 2 (192.168.2.0/24) accessible via eth1 interface on worker02

 apiVersion: v1
 kind: ConfigMap
 metadata:
   name: ovn-external-gw-config2
   namespace: kube-system
 data:
   enable-external-gw: "true"
   type: "centralized"
   external-gw-nodes: "worker02"
   external-gw-nic: "eth1"
   nic-ip: "192.168.2.1/24"
   nic-mac: "16:52:f3:13:6a:27"

Thank you for all the great work you do in maintaining this project!

lucashalbert avatar Feb 11 '21 02:02 lucashalbert