zoukankan      html  css  js  c++  java
  • 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

            清理后添加主机成功

      

    查找占用资源的进程

          

          

  • 相关阅读:
    初识序列化和反序列化,使用BinaryFormatter类、ISerializable接口、XmlSerializer类进行序列化和反序列化
    在ASP.NET MVC控制器中获取链接中的路由数据
    在ASP.NET MVC中对手机号码的验证
    在ASP.NET MVC中实现登录后回到原先的界面
    使用jQuery实现input数值的增量和减量
    ZooKeeper系列(1):安装搭建ZooKeeper环境
    ZooKeeper系列(3):znode说明和znode状态
    ZooKeeper系列(2):ZooKeeper命令行工具zkCli.sh
    翻译:ZooKeeper OverView
    MySQL高可用之组复制(4):详细分析组复制理论
  • 原文地址:https://www.cnblogs.com/yxh168/p/14333518.html
Copyright © 2011-2022 走看看