Posting this answer as more of a potential pointers to check as there could be specific requirements and limitations of each solution and each infrastructure.
Feel free to expand it.
Possible solutions:
Multus
CNI
As I said in the comment, one of the possible solutions is Multus
:
Multus CNI is a container network interface (CNI) plugin for Kubernetes that enables attaching multiple network interfaces to pods. Typically, in Kubernetes each pod only has one network interface (apart from a loopback) -- with Multus you can create a multi-homed pod that has multiple interfaces. This is accomplished by Multus acting as a "meta-plugin", a CNI plugin that can call multiple other CNI plugins.
-- Github.com: Intel: Multus CNI
Please refer to it's documentation about the configuration and usage:
A side note!
Installation of Multus
could be also specified in Kubernetes provisioning tools like Kubespray.
OVS
CNI
You can read on official Open vSwitch Github page:
This plugin allows user to define Kubernetes networks on top of Open vSwitch bridges available on nodes. Note that ovs-cni does not configure bridges, it's up to a user to create them and connect them to L2, L3 or an overlay network.
Github.com: Kubevirt: OVS CNI
In the link above there are requirements that need to be met as well some examples.
I encourage you to check the additional resources like:
A second side note!
You can also check if the Istio Egress gateway would suit your needs.