Kubernetes集群不删除

时间:2019-08-27 09:25:33

标签: kubernetes

我正在尝试删除为我的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集群创建的所有内容,我需要做什么?我需要删除所有内容,包括主节点。

2 个答案:

答案 0 :(得分:1)

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

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

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

请记住要正确更新“ hosts.ini”。

您只需从清单/mycluster/hosts.ini文件(您的主机文件)的[kube-node]节中添加特定的节点执行部分,然后从集群中删除节点,然后运行命令:

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

KubeSpray文档:kubespray

有用的文章:kubespray-stepskubespray-ansible

答案 1 :(得分:0)

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

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