• Product / Portfolio Work
    • OCPSTRAT-2164 BGP integration in public clouds
    • 100% To Do, 0% In Progress, 0% Done
    • False
    • Hide

      None

      Show
      None
    • False
    • None
    • None
    • None
    • None
    • Red Hat OpenShift Networking

      Feature Overview (aka. Goal Summary)  

      OVN Kubernetes BGP support as a routing protocol for User Defined Network (Segmentation) pod and VM addressability for OpenShift on AWS

      Goals (aka. expected user outcomes)

      OVN-Kubernetes BGP support enables the capability of dynamically exposing cluster scoped network entities into a provider’s network, as well as program BGP learned routes from the provider’s network into OVN.

      OVN-Kubernetes currently has no native routing protocol integration, and relies on a Geneve overlay for east/west traffic, as well as third party operators to handle external network integration into the cluster. This enhancement adds support for BGP as a supported routing protocol with OVN-Kubernetes. The extent of this support will allow OVN-Kubernetes to integrate into different BGP user environments, enabling it to dynamically expose cluster scoped network entities into a provider’s network, as well as program BGP learned routes from the provider’s network into OVN.

       

      Requirements (aka. Acceptance Criteria):

      Anyone reviewing this Feature needs to know which deployment configurations that the Feature will apply to (or not) once it's been completed.  Describe specific needs (or indicate N/A) for each of the following deployment scenarios. For specific configurations that are out-of-scope for a given release, ensure you provide the OCPSTRAT (for the future to be supported configuration) as well.

      Deployment considerations List applicable specific needs (N/A = not applicable)
      Self-managed, managed, or both both
      Classic (standalone cluster) yes
      Hosted control planes yes
      Multi node, Compact (three node), or Single node (SNO), or all  
      Connected / Restricted Network  
      Architectures, e.g. x86_x64, ARM (aarch64), IBM Power (ppc64le), and IBM Z (s390x) x86_64 and ARM (because ROSA HCP does both)
      Operator compatibility  
      Backport needed (list applicable versions)  
      UI need (e.g. OpenShift Console, dynamic plugin, OCM)  
      Other (please specify) ROSA HCP (customer/hosted clusters)

      Design Document

      Use Cases (Optional):

      • Integration with 3rdparty load balancers that send packets directly to OpenShift nodes with the destination IP address of a targeted pod, without needing custom operators to detect which node a pod is scheduled to and then add routes into the load balancer to send the packet to the right node.

      Questions to Answer (Optional):

      Out of Scope

      • Support of any other routing protocol
      • Running separate BGP instances per VRF network
      • Support for any other type of L3VPN with BGP, including MPLS
      • Providing any type of API or operator to automatically connect two Kubernetes clusters via L3VPN
      • Replacing the support that MetalLB provides today for advertising service IPs
      • Asymmetric Integrated Routing and Bridging (IRB) with EVPN

      Background

      BGP

      Importing Routes from the Provider Network
      Today in OpenShift there is no API for a user to be able to configure routes into OVN. In order for a user to change how cluster traffic is routed egress into the cluster, the user leverages local gateway mode, which forces egress traffic to hop through the Linux host's networking stack, where a user can configure routes inside of the host via NM State. This manual configuration would need to be performed and maintained across nodes and VRFs within each node.

      Additionally, if a user chooses to not manage routes within the host and use local gateway mode, then by default traffic is always sent to the default gateway. The only other way to affect egress routing is by using the Multiple External Gateways (MEG) feature. With this feature the user may choose to have multiple different egress gateways per namespace to send traffic to.

      As an alternative, configuring BGP peers and which route-targets to import would eliminate the need to manually configure routes in the host, and would allow dynamic routing updates based on changes in the provider’s network.

      Customer Considerations

      • For customers using public clouds, how to integrate features like BGP using already available cloud native features/technology

      Documentation Considerations

      Interoperability Considerations

      • Multiple External Gateways (MEG)
      • Egress IP
      • Services
      • Egress Service
      • Egress Firewall
      • Egress QoS

              mcurry@redhat.com Marc Curry
              mcurry@redhat.com Marc Curry
              None
              None
              Tim Rozet Tim Rozet
              Tim Rozet Tim Rozet
              Weibin Liang Weibin Liang
              Ashley Hardin Ashley Hardin
              Chris Fields Chris Fields
              Tim Rozet Tim Rozet
              Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

                Created:
                Updated: