kubeasz/docs/op/del_one_node.md

33 lines
1.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

# 如何删除单个节点
本文档所指删除的节点是指使用kubeasz项目安装的节点角色可能是kube-master, kube-node, etcd, lb节点
- 警告此操作将清理单个node节点包含k8s集群可能使用的数据特别的如果有pod使用了本地存储类型请自行判断重要性
## 删除流程解释
- 1.待删除节点可能是kube-node节点因此先执行`kubectl drain`,如果不是忽略执行报错
- 2.参照`99.clean.yml`脚本方式删除节点可能的服务和配置,忽略执行报错
- 3.待删除节点可能是kube-node节点执行`kubectl delete node`, 如果不是忽略执行报错
## 删除操作
- 1.替换待删除节点变量假设为192.168.1.1
``` bash
$ sed -i 's/NODE_TO_DEL/192.168.1.1/g' /etc/ansible/tools/clean_one_node.yml
```
- 2.执行删除
```
$ ansible-playbook /etc/ansible/tools/clean_one_node.yml
```
## Debug
如果出现清理失败,类似报错:`... Device or resource busy: '/var/run/docker/netns/xxxxxxxxxx'`需要手动umount该目录后重新清理
``` bash
$ umount /var/run/docker/netns/xxxxxxxxxx
$ ansible-playbook /etc/ansible/tools/clean_one_node.yml
```