我正在尝试删除为我的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集群创建的所有内容,我需要做什么?我需要删除所有内容,包括主节点。
答案 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-steps,kubespray-ansible。
答案 1 :(得分:0)
好吧,对于kubespray CI/CD pipeline
来说,要复杂一点,然后删除集群上下文。您必须主动删除每个节点上的其他项目,并为ETCD执行reset.yml
。
有时候运行reset.yml
对于您的管道就足够了,因此它可以将群集重置回初始状态,但是如果这还不够,那么您必须删除docker,kubelet,存储库,/ etc / kubernetes和许多其他内容节点上的其他目录以获得干净的部署。在这种情况下,使用terraform和vsphere(vra)API在管道中配置新节点几乎总是容易的。