1. #!/bin/bash
  2. #From:rancher
  3. #date:2019-10-18
  4. #admin:jarno
  5.  
  6. # 停止服务
  7. systemctl disable kubelet.service
  8. systemctl disable kube-scheduler.service
  9. systemctl disable kube-proxy.service
  10. systemctl disable kube-controller-manager.service
  11. systemctl disable kube-apiserver.service
  12.  
  13. systemctl stop kubelet.service
  14. systemctl stop kube-scheduler.service
  15. systemctl stop kube-proxy.service
  16. systemctl stop kube-controller-manager.service
  17. systemctl stop kube-apiserver.service
  18.  
  19. # 删除所有容器
  20. docker rm -f $(docker ps -qa)
  21.  
  22. # 删除所有容器卷
  23. docker volume rm $(docker volume ls -q)
  24.  
  25. # 卸载mount目录
  26. for mount in $(mount | grep tmpfs | grep '/var/lib/kubelet' | awk '{ print $3 }') /var/lib/kubelet /var/lib/rancher; do umount $mount; done
  27.  
  28. # 备份目录
  29. mv /etc/kubernetes /etc/kubernetes-bak-$(date +"%Y%m%d%H%M")
  30. mv /var/lib/etcd /var/lib/etcd-bak-$(date +"%Y%m%d%H%M")
  31. mv /var/lib/rancher /var/lib/rancher-bak-$(date +"%Y%m%d%H%M")
  32. mv /opt/rke /opt/rke-bak-$(date +"%Y%m%d%H%M")
  33.  
  34. # 删除残留路径
  35. rm -rf /etc/ceph \
  36. /etc/cni \
  37. /opt/cni \
  38. /run/secrets/kubernetes.io \
  39. /run/calico \
  40. /run/flannel \
  41. /var/lib/calico \
  42. /var/lib/cni \
  43. /var/lib/kubelet \
  44. /var/log/containers \
  45. /var/log/pods \
  46. /var/run/calico
  47.  
  48. # 清理网络接口
  49. network_interface=`ls /sys/class/net`
  50. for net_inter in $network_interface;
  51. do
  52. if ! echo $net_inter | grep -qiE 'lo|docker0|eth*|ens*';then
  53. ip link delete $net_inter
  54. fi
  55. done
  56.  
  57. # 清理残留进程
  58. port_list='80 443 6443 2376 2379 2380 8472 9099 10250 10254'
  59.  
  60. for port in $port_list
  61. do
  62. pid=`netstat -atlnup|grep $port |awk '{print $7}'|awk -F '/' '{print $1}'|grep -v -|sort -rnk2|uniq`
  63. if [[ -n $pid ]];then
  64. kill -9 $pid
  65. fi
  66. done
  67.  
  68. pro_pid=`ps -ef |grep -v grep |grep kube|awk '{print $2}'`
  69.  
  70. if [[ -n $pro_pid ]];then
  71. kill -9 $pro_pid
  72. fi
  73.  
  74. # 清理Iptables表
  75. ## 注意:如果节点Iptables有特殊配置,以下命令请谨慎操作
  76. sudo iptables --flush
  77. sudo iptables --flush --table nat
  78. sudo iptables --flush --table filter
  79. sudo iptables --table nat --delete-chain
  80. sudo iptables --table filter --delete-chain
  81.  
  82. systemctl restart docker

rancher清理主机脚本的更多相关文章

  1. 01.Linux-CentOS系统清理缓存脚本

    #自动清理缓存脚本 [root@k8s-node3 ~]# vim freemem.sh#! /bin/sh#当前已使用内存大小used=`free -m | awk 'NR==2' | awk '{ ...

  2. cacti批量添加主机脚本

    #!/bin/bash ##cacti批量脚本位置 device=/var/www/html/cacti/cli/add_device.php graphs=/var/www/html/cacti/c ...

  3. 【BASH】自己主动清理rman脚本备份文件

    ************************************************************************ ****原文:blog.csdn.net/clark_ ...

  4. Linux7.3系统 升级python到3.6使用ping主机脚本

    Linux7.3默认的python系统是2.7.5,然后想着升级使用python3.6.6 1 下载 2 解压  tar fx Python-3.6.6.tgz 3  configure --pref ...

  5. Rancher 添加主机无法显示、添加主机无效的解决办法

    在 Rancher UI 中,添加主机,在 Shell ssh 运行了,然后 点击 “关闭” 按钮,发现没有显示如何主机. 第一步,先去查看应用是否正常,就是 应用 - 全部应用 如果显示是 unhe ...

  6. Linux 定时清理日志脚本

    在远程运行节点创建一个cleanlog.sh 脚本文件 vin clenalog.sh 插入以下内容 #!/bin/env bash start=$(date +%y-%m-%d-%H%M%m) Fi ...

  7. 实战:liunx定时清理日志脚本

    参考https://blog.csdn.net/qq_39291929/article/details/79054452 1.需求:我们在 /var/log下面有   EmcsYn.log   和   ...

  8. osx或windows系统下,用ftp上传文件到阿里云虚拟主机脚本

    某天突然发现,一直在用的ftp工具并不好用,操作界面太过繁琐,而且不太稳定.于是自己找资料,整合了几句虽然简单,但是方便的代码. mac脚本 #从本地向FTP批量上传文档 需要赋予该.shell文件权 ...

  9. Linux定时清理日志脚本

    在应用疯狂打日志的情况下,服务器很容易被塞满磁盘. 先要写一个shell脚本,脚本如下. #!/bin/bash #----------------使用规范---------------- #1.该文 ...

随机推荐

  1. hive学习笔记之十:用户自定义聚合函数(UDAF)

    欢迎访问我的GitHub 这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos 本篇概览 本文是<hive学习笔记>的第十 ...

  2. redis为什么那么快?

    数据库有很多,为什么Redis能有如此突出的表现呢?一方面,因为它是内存数据库,所有操作都在内存上完成.另外一方面就要归功于他的数据结构.高效的数据结构是Redis快速处理的基础.今天我们就来聊聊了R ...

  3. Raspberry Pi:树莓派安装Kali2021新版本

    准备材料 树莓派4B kali系统镜像 SDFormatter (格式化工具) Win32DiskImager (镜像拷录工具) 镜像下载 kali下载地址:https://www.offensive ...

  4. swing设置观感

    1.先获取当前系统支持的观感样式 1 UIManager.LookAndFellInfo[] infos = UIManager.getInstalledLookAndFeels(); 2 3 Str ...

  5. 从S3中拷贝或同步文件

    p.p1 { margin: 0; font: 16px "Helvetica Neue"; color: rgba(53, 53, 53, 1) } p.p2 { margin: ...

  6. 【转载】每天一个linux命令(11):nl命令

    转载至:http://www.cnblogs.com/peida/archive/2012/11/01/2749048.html nl命令在linux系统中用来计算文件中行号.nl 可以将输出的文件内 ...

  7. STM32中STD、HAL、LL库比较

    ST为开发者提供了标准外设库(STD库).HAL库.LL库 三种.前两者都是常用的库,后面的LL库是ST新添加的,随HAL源码包一起提供,目前支持的芯片也偏少. 标准外设库(Standard Peri ...

  8. MySQL 那些常见的错误设计规范

    依托于互联网的发达,我们可以随时随地利用一些等车或坐地铁的碎片时间学习以及了解资讯.同时发达的互联网也方便人们能够快速分享自己的知识,与相同爱好和需求的朋友们一起共同讨论. 但是过于方便的分享也让知识 ...

  9. Maven | 把jar包安装到本地仓库

    使用的场景 自己写的工具类想安装到本地 从Maven仓库中下载不下来的jar 使用的步骤 首先要保证自己的Maven配置全局环境变量,如果没有配置过maven全局变量,可以按照下面的步骤配置一下: 先 ...

  10. 「ARC103D」 Distance Sums

    「ARC103D」 Distance Sums 传送门 水题. 首先如果让你求树上的节点 \(i\) 到其它所有节点的距离和,这是非常简单的,这就是非常常规的换根 \(\texttt{DP}\). 那 ...