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

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

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

Команда

kubectl config unset clusters

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


person Jeremy Lewi    schedule 04.05.2016    source источник


Ответы (4)


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 переработка для будущего выпуска, чтобы сделать команды более интуитивно понятными / удобными / согласованными.

person jeffml    schedule 04.05.2016
comment
kubectl config unset contexts работал здорово, спасибо! - person Randy L; 07.04.2018
comment
Я вижу, что есть kubectl config get-contexts и kubectl config get-clusters, но я не вижу kubectl config get-users, как их перечислить? - person Muhamed Huseinbašić; 15.08.2020
comment
Другой пользователь SO связался со мной по электронной почте с помощью следующей команды для вывода списка пользователей: kubectl config view -o jsonpath='{.users[*].name}' (их источник был шпаргалка по kubectl) - person Muhamed Huseinbašić; 11.10.2020

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

kubectl config delete-cluster my-cluster

kubectl config delete-context my-cluster-context

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

kubectl config unset users.my-cluster-admin
person Everett Toews    schedule 17.02.2017

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

$ 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
person Khoa    schedule 11.12.2019

Не имеет отношения к вопросу, но может быть полезным ресурсом.

Взгляните на kubectx + kubens: Power tools for kubectl.

Они позволяют легко переключать контексты и пространство имен + имеют возможность удаления

e.g.,

kubectx -d my-context
person hpl002    schedule 06.01.2021