<p>Few queries on GKE</p>
<ul>
<li>We have few <code>GKE</code> CLusters running on <code>Default VPC</code>. Can we migrate these clusters to use <code>SharedVPC</code> or atleast <code>Custom VPC</code>? It seems existing clusters with default VPC mode cannot be changed to <code>SharedVPC model</code> as per GCP documentation but can we convert to <code>Custom VPC</code> from <code>default VPC</code></li>
<li>How to migrate from <code>Custom VPC</code> to <code>Shared VPC</code>? Is it creating a new Cluster from existing Cluster and select <code>SharedVPC</code> in networking section for new cluster and then copy the Kubernetes resources to new Cluster?</li>
<li>Also looks like we cannot convert <code>public</code> GKE Cluster to <code>private</code> mode. Does this too requires creation of new Cluster to migrate from <code>Public</code> to <code>Private</code> GKE Cluster?</li>
</ul>

<p>Unfortunatelly you cannot change any of those settings on the existing <strong>GKE</strong> cluster. You can clone the existing one by using <code>DUPLICATE</code> tab in cluster details:</p>
<p><a href="https://i.stack.imgur.com/C88fI.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/C88fI.png" alt="enter image description here" /></a></p>
<p>During new cluster creation you can change it from <code>Public</code> to <code>Private</code> in <code>Cluster -&gt; Networking</code> section:</p>
<p><a href="https://i.stack.imgur.com/v2hOz.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/v2hOz.png" alt="enter image description here" /></a></p>
<p>After choosing it you'll need to correct fields that are marked in red:</p>
<p><a href="https://i.stack.imgur.com/l9Vwo.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/l9Vwo.png" alt="enter image description here" /></a></p>
<p>You can also choose different <code>VPC</code> network.</p>
<p>When it comes to migrating a workload this is separate story. You can choose the approach which is most suitable for you, ranging from manually exporting all your yaml manifests (pretty tedious and not very convenient process I would say) to using dedicated tools like <a href="https://github.com/vmware-tanzu/velero" rel="nofollow noreferrer">velero</a>.</p>
