Как удалить кластеры и контексты из конфигурации kubectl?

99

kubectl config view показывает контексты и кластеры, соответствующие кластерам, которые я удалил.

Как я могу удалить эти записи?

Команда

kubectl config unset clusters

похоже, удаляет все кластеры. Есть ли способ выборочно удалять записи кластера? А что насчет контекстов?

Джереми Леви
источник

Ответы:

160

kubectl config unsetпринимает путь, разделенный точками. Вы можете удалить записи кластера / контекста / пользователя по имени. Например

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(или gcloud, если вы используете Container Engine), он удалит связанные записи kubeconfig. В будущем выпуске также запланированы kubectl config доработки, чтобы сделать команды более интуитивно понятными / удобными / согласованными.

jeffml
источник
7
kubectl config unset contextsпоработал очень хорошо, спасибо!
Randy L
Я вижу, что есть kubectl config get-contextsи kubectl config get-clusters, но я не вижу kubectl config get-users, как их перечислить?
Мухамед Хусейнбашич
91

Для кластеров и контекстов вы также можете сделать

kubectl config delete-cluster my-cluster

kubectl config delete-context my-cluster-context

Однако для пользователей нет ничего специфического, так что вам все равно придется

kubectl config unset users.my-cluster-admin
Эверетт Тэйвз
источник
22

Выполните команду ниже, чтобы получить все имеющиеся у вас контексты:

$ 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
Khoa
источник