How do I delete clusters and contexts from kubectl config?

Jeremy Lewi picture Jeremy Lewi · May 4, 2016 · Viewed 72k times · Source

kubectl config view shows contexts and clusters corresponding to clusters that I have deleted.

How can I remove those entries?

The command

kubectl config unset clusters

appears to delete all clusters. Is there a way to selectively delete cluster entries? What about contexts?

Answer

jeffml picture jeffml · May 4, 2016

kubectl config unset takes a dot-delimited path. You can delete cluster/context/user entries by name. E.g.

kubectl config unset users.gke_project_zone_name

kubectl config unset contexts.aws_cluster1-kubernetes

kubectl config unset clusters.foobar-baz

Side note, if you teardown your cluster using cluster/kube-down.sh (or gcloud if you use Container Engine), it will delete the associated kubeconfig entries. There is also a planned kubectl config rework for a future release to make the commands more intuitive/usable/consistent.