基于rke部署k8s的卸载脚本
本文最后更新于 656 天前,其中的信息可能已经有所发展或是发生改变。

基于rke部署k8s的卸载脚本

vim clear-rke.sh

#!/bin/bash

RED='\033[0;31m'
GREEN='\033[32;1m'
YELLOW='\033[33;1m'
NC='\033[0m' # No Color


# clean up rke containers
function clean_rke_containers() {
  CONTAINERS=$(docker ps -a | grep 'rke-tools\|hyperkube\|coreos-etcd\|k8s' | awk '{print $1}')

  echo -e "${GREEN}[INFO] Start cleaning up rke containers.......... ${NC}"
  if [ "$CONTAINERS" == "" ]; then
    echo -e "${GREEN}[INFO] No containers to Clean${NC}"
  else
    if docker ps -a | grep 'rke-tools\|hyperkube\|coreos-etcd\|k8s' | awk '{print $1}' | xargs docker rm -f; then
        echo -e "${GREEN}[INFO] Clean up rke containers successfully ${NC}"
    else
        echo -e "${RED}[ERROR] Clean up rke containers failed ${NC}"
    fi
  fi

  #docker ps -a|awk '{print $1}'|xargs docker rm -f
  #docker volume ls|awk '{print $2}'|xargs docker volume rm
}

function clean_mount(){
  echo -e "${GREEN}[INFO] Start cleaning up mount point.......... ${NC}"

  K8S_MOUNTS=$(mount | grep tmpfs | grep '/var/lib/kubelet' | awk '{ print $3 }')
  if [ "$K8S_MOUNTS" == "" ];then
    echo -e "${GREEN}[INFO] No Kubernetes mount point to clean ${NC}"
  else
    if mount | grep tmpfs | grep '/var/lib/kubelet' | awk '{ print $3 }' | xargs umount -l; then
      echo -e "${GREEN}[INFO] Clean up Kubernetes mount point successfully ${NC}"
    else
      echo -e "${RED}[ERROR] Clean up Kubernetes mount point failed ${NC}"
    fi
  fi
}

function clean_directory() {
  DIR_LIST=(/etc/cni /opt/cni /run/secrets/kubernetes.io /run/flannel /run/calico /var/run/calico /var/lib/cni /var/lib/kubelet /var/log/containers /var/log/kube-audit /var/log/pods /etc/kubernetes /var/lib/etcd /opt/rke /var/lib/rancher)

  for dir in "${DIR_LIST[@]}"; do
    if [ -d "$dir" ]; then
      echo -e "${GREEN}[INFO] Start cleaning up $dir.......... ${NC}"
      if rm -rf "$dir"; then
        echo -e "${GREEN}[INFO] Clean up $dir successfully ${NC}"
      else
        echo -e "${RED}[ERROR] Clean up $dir failed ${NC}"
      fi
    fi
  done
}

function clean_net_inter() {

no_del_net_inter='
lo
docker0
eth
ens
bond
'
  network_interface=$(ls /sys/class/net)
  echo -e "${GREEN}[INFO] Start cleaning up network interface.......... ${NC}"
  for net_inter in $network_interface;
  do
    if ! echo "${no_del_net_inter}" | grep -qE "${net_inter:0:3}"; then
      ip link delete "$net_inter"
      echo -e "${GREEN}[INFO] Delete network interface $net_inter successfully ${NC}"
    fi
  done
}

function clean_iptables() {
  echo -e "${GREEN}[INFO] Start cleaning up iptables rules.......... ${NC}"
  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
  echo -e "${GREEN}[INFO] Clean up iptables rules successfully ${NC}"

}

function clean_ipvs() {
  echo -e "${GREEN}[INFO] Start cleaning up ipvs rules.......... ${NC}"
  sudo ipvsadm -C
  echo -e "${GREEN}[INFO] Clean up ipvs rules successfully ${NC}"

}

function restart_docker(){
  echo -e "${GREEN}[INFO] Restarting docker.......... ${NC}"
  if systemctl restart docker; then
    echo -e "${GREEN}[INFO] Restart docker successfully ${NC}"
  else
    echo -e "${RED}[ERROR] Restart docker failed ${NC}"
  fi
}

function clean_rke_cluster() {
  # clean up rke containers
  clean_rke_containers

  # clean up mount point
  clean_mount

  # clean up directory
  clean_directory

  # clean up network interface
  # clean_net_inter

  # clean up iptables rules
  # clean_iptables

  # clean up ipvs rules
  clean_ipvs

  # restart docker
  restart_docker
}

# clean up rke cluster
clean_rke_cluster
echo -e "${GREEN}[INFO] Clean up rke cluster successfully ${NC}"
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇