We are trying to set up an OpenVPN remote access server within a Kubernetes cluster, to replace a service previously hosted on an on-prem firewall.
Our wider network is partly on GCP/GCE, with dynamic BGP routing to our on-prem sites over IPsec.
Currently on the existing OpenVPN server on-prem, the IP addresses allocated to connected clients are routable from the rest of the network, so we can communicate inbound & outbound to them without NAT.
We'd like to move the service to Kubernetes Engine, as that is were all our other Linux workloads are migrating to and we prefer the DevOps style workflow, with it managing availability and recovery.
So, say our OpenVPN container has clients connected on range 10.30.50.0/24, with a Pod IP dynamically allocated in 10.50.30.0/20, how would we tell GCP to route that 10.30.50.0/24 range towards to OpenVPN service in the Pod? And is it even possible?
One thought was to call the GCE APIs on Pod startup to add in a static route directed towards the Pod IP, but I'm unsure if the traffic will transit the cluster and reach OpenVPN in the Pod.