由于节点上运行的 ovn-controller 组件会定期重连 ovn-sb,chassis 依然会重新注册导致一些网络配置残留,浪费资源并有潜在的规则冲突可能。因此在从 Kubernetes 内删除节点时,请按照下面的步骤来保证网络信息可以正常被清理。
- drain 节点
- kubectl drain <nodename> --ignore-daemonsets --force
- 登录对应节点并停止 kubelet 和 docker 已停止对应 daemonset pod
- systemctl stop kubelet
- systemctl stop docker
- 删除 node
- kubectl delete no <nodename>
- 检查对应节点是否从 ovn-sb 中删除
- kubectl ko sbctl show
- 如果还存在对应 hostname 的 chassis 手动进行删除
- kubectl ko sbctl chassis-del <chassis uuid>