Kubernetes: How do I delete clusters and contexts from kubectl config?
Solution 1
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.
Solution 2
For clusters and contexts you can also do
kubectl config delete-cluster my-cluster
kubectl config delete-context my-cluster-context
There's nothing specific for users though, so you still have to do
kubectl config unset users.my-cluster-admin
Solution 3
Run command below to get all contexts you have:
$ kubectl config get-contexts
CURRENT NAME CLUSTER AUTHINFO NAMESPACE
* Cluster_Name_1 Cluster_1 clusterUser_resource-group_Cluster_1
Delete context:
$ kubectl config delete-context Cluster_Name_1
Solution 4
Unrelated to question, but maybe a useful resource.
Have a look at kubectx + kubens: Power tools for kubectl.
They make it easy to switch contexts and namespace + have the option to delete
e.g.,
kubectx -d my-context
Related videos on Youtube
Jeremy Lewi
I'm an engineer at Google working on Google Cloud Machine Learning Engine. CMLE is a managed service for TensorFlow. The relevant SO tag is google-cloud-ml-engine.
Updated on February 19, 2021Comments
-
Jeremy Lewi over 3 years
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?
-
Randy L about 6 years
kubectl config unset contexts
worked real nice thanks! -
Muhamed Huseinbašić almost 4 yearsI see there is
kubectl config get-contexts
andkubectl config get-clusters
, but I don't seekubectl config get-users
, how to list these? -
Muhamed Huseinbašić over 3 yearsAnother SO user reached out to me via e-mail with the following command for listing users:
kubectl config view -o jsonpath='{.users[*].name}'
(their source was kubectl cheatsheet) -
Devplex over 2 yearsThese days there's also
kubectl config delete-user my-user
-
L F over 2 yearsfor users you can do
kubectl config unset users