<p>I'm trying to launch Google Container Engine (GKE) in Private GCP network Subnet.</p>

<p>I have created custom Google Cloud VPC, then I have created custom Private Network Access Subnet too under that VPC.</p>

<p>1) When I create GKE cluster with Private Subnet, still my Kubernetes nodes assigned with Public IP. Why it is so ? As per Google Document private instance should get Private IP.</p>

<p>2) If I create cluster in Private, can I connect my container application to Google SQL instance ?</p>

<p>3) Is any recommendation to launch GKE cluster should launched in Public Subnet only, not in Private Subnet ?</p>

<p><strong>With lots of R&amp;D and some replies got from forum.</strong></p>

<p><strong><em>GKE should allow you to create a cluster in a Network that does have a default route to internet</em></strong>. We can launch a cluster in private subnet but that GKE cluster instance will treat as Public Subnet only.</p>

<p>As GKE relies on public IPs to access the hosted master, for now.</p>

<p>Security aspects considering of GKE cluster, we can deny all ports in firewall to access Cluster through internet. </p>
