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

Posted

技术标签:

【中文标题】Kubernetes:如何从 kubectl 配置中删除集群和上下文?【英文标题】:Kubernetes: How do I delete clusters and contexts from kubectl config? 【发布时间】:2016-08-29 05:33:12 【问题描述】:

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

如何删除这些条目?

命令

kubectl config unset clusters

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

【问题讨论】:

【参考方案1】:

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

看看kubectx + kubens: Power tools for kubectl。

它们使切换上下文和命名空间变得容易 + 可以选择删除

例如,

kubectx -d my-context

【讨论】:

【参考方案2】:

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

$ 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

【讨论】:

【参考方案3】:

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

kubectl config delete-cluster my-cluster

kubectl config delete-context my-cluster-context

虽然没有什么特定于用户的,所以你仍然需要做

kubectl config unset users.my-cluster-admin

【讨论】:

这几天还有kubectl config delete-user my-user【参考方案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,如果您使用容器引擎)拆除集群,它将删除相关的 kubeconfig 条目。还有一个计划中的 kubectl config rework 用于未来的版本,以使命令更直观/可用/一致。

【讨论】:

kubectl config unset contexts 工作真的很好谢谢! 我看到有kubectl config get-contextskubectl config get-clusters,但是我没有看到kubectl config get-users,如何列出这些? 另一个 SO 用户通过电子邮件与我联系,使用以下命令列出用户:kubectl config view -o jsonpath='.users[*].name'(他们的来源是 kubectl cheatsheet)

以上是关于Kubernetes:如何从 kubectl 配置中删除集群和上下文?的主要内容,如果未能解决你的问题,请参考以下文章

Kubernetes命令行工具--kubectl管理

Kubectl基础命令大全

Kubernetes kubectl 查看配置

从 Kubectl Top 说起, 谈谈 Kubernetes 是如何进行资源监控的?

在windows电脑上配置kubectl远程操作kubernetes

了解 Kubernetes Api Server 如何对 kubectl 管理请求进行身份验证