【问题标题】:Kubernetes cluster not deletingKubernetes 集群未删除
【发布时间】:2019-12-31 10:49:03
【问题描述】:

我正在尝试删除为我的 CI/CD 管道研发创建的整个 Kubernetes。因此,为了删除集群和我运行以下命令的所有内容,

kubectl config delete-cluster <cluster-name> 

kubectl config delete-context <Cluster-context>  

为了确保删除 clustee,我再次构建了 jenkins 管道作业。所以我发现它正在部署更新的更改。

当我运行命令“kubectl config view”时,我发现了以下结果,

docker@mildevdcr01:~$ kubectl config view
apiVersion: v1
clusters: []
contexts: []
current-context: kubernetes-admin@cluster.local
kind: Config
preferences: {}
users: []
docker@mildevdcr01:~$

我的 Spring Boot 微服务仍在集群中部署,并进行了更新。

我使用从 Github 获得的 kubespray 工具创建了 Kubernetes 集群:

https://github.com/kubernetes-incubator/kubespray.git

要删除我为此 Kubernetes 集群创建的所有内容,我需要做什么?我需要删除包括主节点在内的所有内容。

【问题讨论】:

  • 请详细说明集群的创建位置。
  • @TummalaDhanvi - 当你说在哪里时,我不明白。我在本地虚拟机上创建了这些集群。这是你需要知道的吗?让我知道先生。并感谢您的回复先生。
  • 命令kubectl config delete-cluster 只删除用于连接集群的配置,集群将继续运行。 (就像您在 google.com 中清除了浏览器 cookie,但您的帐户在 google 中仍然存在)。你可以通过remove vms来移除集群或者按照这里的说明移除k8s集群stackoverflow.com/questions/44698283/…

标签: kubernetes


【解决方案1】:

如果您使用 Kubespray 设置集群,则使用 ansible 运行整个安装,因此要删除集群,您也必须使用它。

但您也可以重置整个集群以进行全新安装:

$  ansible-playbook -i inventory/mycluster/hosts.ini reset.yml

记得保持“hosts.ini”正确更新。

您可以从集群中逐个节点删除,只需在 inventory/mycluster/hosts.ini 文件(您的主机文件)中添加特定节点执行部分 [kube-node] 并运行命令:

 $ ansible-playbook -i inventory/mycluster/hosts.ini remove-node.yml

KubeSpray 文档:kubespray

有用的文章:kubespray-stepskubespray-ansible

【讨论】:

    【解决方案2】:

    好吧,对于kubespray CI/CD pipeline,它比删除集群上下文要复杂一些。您必须主动删除每个节点上的其他项目,并为 ETCD 执行reset.yml

    有时只运行reset.yml 对您的管道来说就足够了,因此它将集群重置回初始状态,但如果这还不够,那么您必须删除 docker、kubelet、存储库、/etc/kubernetes 和许多其他目录在节点上获得干净的部署。在这种情况下,使用 terraform 和 vsphere(vra) API 在管道中配置新节点几乎总是更容易。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-04-16
      • 1970-01-01
      • 2022-01-25
      • 2020-01-03
      • 2018-05-14
      • 2019-03-23
      • 2019-05-05
      • 1970-01-01
      相关资源
      最近更新 更多