Load Balancer| Traffic Type| Global/Regional| External/
Internal| External Ports
—|—|—|—|—
HTTP(s)| HTTP or HTTPS| Global IPv4/v6| External| HTTP on 80 or 8080
HTTPS on 443
SSL Proxy| TCP with SSL offload| Global IPv4/v6| External| 25, 43, 110, 143, 195, 443, 465,
587, 700, 993, 995, 1883, 5333
TCP Proxy| TCP without SSL offload
Client IP not preserved| Global IPv4/v6| External| 25, 43, 110, 143, 195, 443, 465,
587, 700, 993, 995, 1883, 5333
NLB (Network)| TCP/UDP without SSL offload
Client IP preserved| Regional
IPv4| External| Any
HTTP(s)| HTTP or HTTPS| Regional
IPv4| Internal| HTTP on 80 or 8080
HTTPS on 443
TCP/UDP| TCP or UDP| Regional
IPv4| Internal| Any

On-Premise to GCP Connectivity (Hybrid) Options

Following table shows the options

Dedicated Shared  
Layer3 Direct Peering Career Peering
Layer2 Dedicated Interconnect Partner Interconnect

GKE Cluster IP Address Scheme

3 different types of IP ranges are required

Example:

If a GKE cluster is of 2 nodes then it means at minimum you would need two /24 networks for Pod IP assignment.

Auto-scaling and VPC Dependencies

Unmanaged Instance Group only resides in a single zone, VPC network and subnet. It is not a good idea to use the unmanaged Instance Group (UIG). UIG cannot do autoscaling as well.

Autoscaling only works with zonal and regional managed instance groups (MIGs). It means autoscaling cannot cross region boundaries. So it means if you use a single VPC with autoscaling, you are limited to only one region. So in essence your VPC is not really global from application perspective. So why should you restrict your design to single VPC? Using single VPC is not a good idea for many reasons, and this is just one of them.

https://cloud.google.com/compute/docs/autoscaler

https://cloud.google.com/compute/docs/instance-groups/creating-groups-of-unmanaged-instances