当前位置:   article > 正文

【Kubernetes(K8S)】学习记录三:重装rancher前的节点清理_systemctl disable kubelet

systemctl disable kubelet

什么时候会用到清理节点?

将节点添加到集群时后,会创建容器、虚拟网络接口等资源和证书、配置文件。
从集群中正常删除节点时(如果处于Active状态),将自动清除这些资源,并且只需重新启动节点即可。
当节点无法访问且无法使用自动清理,或者异常导致节点脱离集群后,如果需要再次将节点加入集群,那么需要手动进行节点初始化操作。

重新部署集群前操作:清理节点

 # 停止服务
systemctl  disable kubelet.service
 systemctl  disable kube-scheduler.service
 systemctl  disable kube-proxy.service
 systemctl  disable kube-controller-manager.service
 systemctl  disable kube-apiserver.service

 systemctl  stop kubelet.service
 systemctl  stop kube-scheduler.service
 systemctl  stop kube-proxy.service
 systemctl  stop kube-controller-manager.service
 systemctl  stop kube-apiserver.service

 # 删除所有容器
 docker rm -f $(docker ps -qa)

 # 删除所有容器卷
 docker volume rm $(docker volume ls -q)

 # 卸载mount目录
 for mount in $(mount | grep tmpfs | grep '/var/lib/kubelet' | awk '{ print $3 }') /var/lib/kubelet /var/lib/rancher; do umount $mount; done
 
 # 备份目录
 mv /etc/kubernetes /etc/kubernetes-bak-$(date +"%Y%m%d%H%M")
 mv /var/lib/etcd /var/lib/etcd-bak-$(date +"%Y%m%d%H%M")
 mv /var/lib/rancher /var/lib/rancher-bak-$(date +"%Y%m%d%H%M")
 mv /opt/rke /opt/rke-bak-$(date +"%Y%m%d%H%M")

 # 删除残留路径
 rm -rf /etc/ceph \
      /etc/cni \
      /opt/cni \
      /run/secrets/kubernetes.io \
      /run/calico \
      /run/flannel \
      /var/lib/calico \
      /var/lib/cni \
      /var/lib/kubelet \
      /var/log/containers \
      /var/log/pods \
      /var/run/calico

 # 清理网络接口
 network_interface=`ls /sys/class/net`
 for net_inter in $network_interface;
 do
   if ! echo $net_inter | grep -qiE 'lo|docker0|eth*|ens*';then
     ip link delete $net_inter
   fi
 done

 # 清理残留进程
 port_list='80 443 6443 2376 2379 2380 8472 9099 10250 10254'

 for port in $port_list
 do
   pid=`netstat -atlnup|grep $port |awk '{print $7}'|awk -F '/' '{print $1}'|grep -v -|sort -rnk2|uniq`
   if [[ -n $pid ]];then
     kill -9 $pid
   fi
 done

 pro_pid=`ps -ef |grep -v grep |grep kube|awk '{print $2}'`

 if [[ -n $pro_pid ]];then
   kill -9 $pro_pid
 fi

 # 清理Iptables表
 ## 注意:如果节点Iptables有特殊配置,以下命令请谨慎操作
 sudo iptables --flush
 sudo iptables --flush --table nat
 sudo iptables --flush --table filter
 sudo iptables --table nat --delete-chain
 sudo iptables --table filter --delete-chain

 systemctl restart docker
 mount --make-shared /
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78

清理完成后,重新在主节点上执行安装rancher即可

docker run -d --restart=unless-stopped -p 80:80 -p 443:443 rancher/rancher:stable
  • 1
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Guff_9hys/article/detail/848850
推荐阅读
相关标签
  

闽ICP备14008679号