<p>I have a test cluster in GKE with several apps. Some of them must be exposed on a single ip and as a service of <code>type: LoadBalancer</code>.</p>
<p>I've reserved static external address, and used it in yamls of my services as <code>loadBalancerIP</code>. But everything is ok, except one service. It's ftp server with ports <code>20-21</code>, and <code>30000-30005</code> for passive mode. GKE automatically configures loadbalancers for services with port range from the lowest one to the greatest for every service. So, obviously it overlaps any other service of my cluster with port range <code>20-30005</code> and this service external ip keeps pending state.</p>
<p>Are there any solution of that problem? My thoughts brings me to using <code>externalIPs</code> field with manually created load balancer with forwarding rules and targets in gcp network services console. Or either both <code>loadbalancerIP</code> and <code>externalIPs</code> with same ip, but i am not sure about that. Is it will work correctly? Are there other solutions?</p>

sfcdota
<p>After trying almost everything, I've just realized, that with such GKE LB implementation behaviour, I am actually can create two services, first for active mode port range, second for passive. With selector to ftps app. Sounds not perfect, but this is single correctly working solution I've found so far.</p>
