<p>One of our Google Kubernetes Engine clusters has lost access to Google Cloud Platform via it's main service account. It was not using the service account 'default', but a custom one, but it's now gone. Is there a way to restore or change the service account for a GKE cluster after it has been created? Or are we just out of luck and do we have to re-create the cluster?</p>

<p>Good news! We found a way to solve the issue without having to re-create the entire cluster.</p>

<ol>
<li>Create a new node-pool and make sure it has the default permissions to Google Cloud Platform (this is the case if you create the pool via the Console UI).</li>
<li>'Force' all workloads on the new node pool (e.g. by using node labels).</li>
<li>Re-deploy the workloads.</li>
<li>Remove the old (broken ) node pool.</li>
</ol>

<p>Hope this helps anyone with the same issue in the future.</p>
