When you create Private GKE Clusters, all the nodes instances get internal ip addresses.
Pods running on these node instances can’t access the internet.
You need to use and configure Cloud NAT service to allows VM/Node instances without external IP
addresses and private Google Kubernetes Engine (GKE) clusters to connect to the Internet.
Cloud NAT implements outbound NAT (i.e. network translation, mapping internal IP addresses to external IP) to allow instances to reach the Internet.
As part of Cloud NAT configuration, you can manually reserve a set of public IP address or select automatic, which would create and release IP based on workloads.
If you integrating your application with other third party applications, which employs IP Whitelisting as part of the access mechanism, you need to go with manual reservations of IPs and provide the manual IPs for whitelisting to external applications.
For details on how to Configure NAT, refer to the reference section – Create Cloud NAT Configuration