Rancher解決磁盤占滿異常


磁盤壓力提示

           

 解決步驟

        1.登錄主機  整個根文件系統已經占用100

               

         2.在根目錄下執行  du -h --max-depth=1  

               

        3.查到var/lib目錄下占用了很大的磁盤空間

              

        4.依次遞歸查找占用空間最大的子目錄

             

         5.執行rm   -fr 目錄 磁盤空間不會立即進行釋放

            

         6.需要等待一段時間才會把磁盤資源釋放出來

            

 Rancher重新添加主機節點

            rancher添加節點不成功 需要首先清理環境

           由於歷史原因已經安裝過程中的多次嘗試,但是安裝環境不純凈,會產生各種各樣的問題(比如下面的etcd證書問題)

#!/bin/zsh
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
清理rke
#!/bin/zsh
kubeadm reset
sudo apt-get purge kubeadm kubectl kubelet kubernetes-cni kube*
sudo apt-get autoremove
sudo rm -rf ~/.kube
清理kubeadm

        清理后添加主機成功

  

查找占用資源的進程

      

 

      


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM