How can I have a GKE cluster "expire" and delete itself?

5/6/2019

We stand up a lot of clusters for testing/poc/deving and its up to us to remember to delete them

What I would like is a way of setting a ttl on an entire gke cluster and having it get deleted/purged automatically.

I could tag the clusters with a timestamp at creation and have an external process running on a schedule that reaps old clusters, but it'd be great if I didn't have to do that- it might be the only way but maybe there is a gke/k8s feature for this?

Is there a way to have the cluster delete itself without relying on an external service? I suppose it could spawn a cloud function itself- but Im wondering if there is a native gke/k8s feature to do this more elegantly

-- red888
google-cloud-platform
google-kubernetes-engine
kubernetes

3 Answers

10/13/2019

I don't believe there is a native way to do this, but it doesn't seem unreasonable to use cloud scheduler to every so often trigger a cloud function which looks for appropriately labeled clusters and triggers their deletion via the API.

-- robsiemb
Source: StackOverflow

5/6/2019

Try Cloud Scheduler and hook it up with your build server. Cloud Scheduler supports Http , App Engine , Pub/Sub endpoints.

-- Kishore
Source: StackOverflow

5/6/2019

You can spawn GKE cluster with Alpha features. Such clusters exist for one month maximum and then are auto-deleted. Read more: https://cloud.google.com/kubernetes-engine/docs/concepts/alpha-clusters

-- Vasily Angapov
Source: StackOverflow