Kubernetes:如何从 kubectl config 中删除集群和上下文?

Kubernetes: How do I delete clusters and contexts from kubectl config?

kubectl config view 显示与我已删除的集群对应的上下文和集群。

如何删除这些条目?

命令

kubectl config unset clusters

似乎要删除所有集群。有没有办法选择性地删除集群条目?上下文呢?

kubectl config unset 采用点分隔路径。您可以按名称删除 cluster/context/user 个条目。例如

kubectl config unset users.gke_project_zone_name

kubectl config unset contexts.aws_cluster1-kubernetes

kubectl config unset clusters.foobar-baz

旁注,如果您使用 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 拆卸集群以供将来发布以使命令更多 intuitive/usable/consistent。

对于集群和上下文你也可以做

kubectl config delete-cluster my-cluster

kubectl config delete-context my-cluster-context

虽然没有针对用户的特定内容,因此您仍然需要做

kubectl config unset users.my-cluster-admin

运行 下面的命令可获取您拥有的所有上下文:

$ kubectl config get-contexts

CURRENT   NAME             CLUSTER     AUTHINFO                                NAMESPACE

*         Cluster_Name_1   Cluster_1   clusterUser_resource-group_Cluster_1

删除上下文:

 $ kubectl config delete-context Cluster_Name_1

与问题无关,但可能是有用的资源。

看看kubectx + kubens: Power tools for kubectl

它们可以轻松切换上下文和命名空间 + 可以选择删除

例如,

kubectx -d my-context