zoukankan      html  css  js  c++  java
  • 常用的清理 Kubernetes 集群命令

    1. Kubernetes 基础对象清理

    • 清理 Evicted 状态的 Pod
    kubectl get pods --all-namespaces -o wide | grep Evicted | awk '{print $1,$2}' | xargs -L1 kubectl delete pod -n
    • 清理 Error 状态的 Pod
    kubectl get pods --all-namespaces -o wide | grep Error | awk '{print $1,$2}' | xargs -L1 kubectl delete pod -n
    • 清理 Completed 状态的 Pod
    kubectl get pods --all-namespaces -o wide | grep Completed | awk '{print $1,$2}' | xargs -L1 kubectl delete pod -n
    • 清理没有被使用的 PV
    kubectl describe -A pvc | grep -E "^Name:.*$|^Namespace:.*$|^Used By:.*$" | grep -B 2 "<none>" | grep -E "^Name:.*$|^Namespace:.*$" | cut -f2 -d: | paste -d " " - - | xargs -n2 bash -c 'kubectl -n ${1} delete pvc ${0}'
    • 清理没有被绑定的 PVC
    kubectl get pvc --all-namespaces | tail -n +2 | grep -v Bound | awk '{print $1,$2}' | xargs -L1 kubectl delete pvc -n
    • 清理没有被绑定的 PV
    kubectl get pv | tail -n +2 | grep -v Bound | awk '{print $1}' | xargs -L1 kubectl delete pv

    2. Linux 清理

    • 查看磁盘全部空间
    df -hl /

    Filesystem      Size  Used Avail Use% Mounted on
    /dev/sda2       100G   47G   54G  47% /
    • 查看指定目录占用
    du -sh .

    24G .
    • 删除指定前缀的文件夹
    cd /nfsdata
    ls | grep archived- |xargs -L1 rm -r
    • 清理僵尸进程
    ps -A -ostat,ppid | grep -e '^[Zz]' | awk '{print }' | xargs kill -HUP > /dev/null 2>&1

    3. Docker 清理

    • 查看磁盘使用情况
    docker system df

    TYPE                TOTAL               ACTIVE              SIZE                RECLAIMABLE
    Images              361                 23                  178.5GB             173.8GB (97%)
    Containers          29                  9                   6.682GB             6.212GB (92%)
    Local Volumes       4                   0                   3.139MB             3.139MB (100%)
    Build Cache         0                   0                   0B                  0B
    • 清理 none 镜像
    docker images | grep none | awk '{print $3}' | xargs docker rmi
    • 清理不再使用的数据卷
    docker volume rm $(docker volume ls -q)

    或者

    docker volume prune
    • 清理缓存
    docker builder prune
    • 全面清理

    删除关闭的容器、无用的存储卷、无用的网络、dangling 镜像(无 tag 镜像)

    docker system prune -f
    • 清理正则匹配上的镜像

    这里清理的是 master-8bcf8d7-20211206-111155163 格式的镜像。

    docker images |grep -E "([0-9a-z]*[-]){3,}[0-9]{9}" |awk '{print $3}' | xargs docker rmi

    4. 设置定时

    • 查看定时任务
    crontab -l
    • 设置定时任务
    crontab -e 

    文本新增定时任务

    */35 */6 * * *  docker images | grep none | awk '{print $3}' | xargs docker rmi
    45 1 * * * docker system prune -f

    这里第一个任务是每隔六个小时的第 35 分钟执行,第二个任务每天的 1 时 45 分执行。

    • 定时任务的格式

    设置定时格式: * * * * * shell

    第一个星号,minute,分钟,值为 0-59 第二个星号,hour,小时,值从 0-23 第三个星号,day,天,值为从 1-31 第四个星号,month,月,值为从 1-12 月,或者简写的英文,比如 Nov、Feb 等 第五个星号,week 周,值为从 0-6 或者简写的英文,Wen、Tur 等,代表周几,其中 0 代表周末

  • 相关阅读:
    linux下shell显示-bash-4.1#不显示路径解决方法
    update chnroute
    An error "Host key verification failed" when you connect to other computer by OSX SSH
    使用dig查询dns解析
    DNS被污染后
    TunnelBroker for EdgeRouter 后记
    mdadm详细使用手册
    关于尼康黄的原因
    Panda3d code in github
    Python实例浅谈之三Python与C/C++相互调用
  • 原文地址:https://www.cnblogs.com/cheyunhua/p/15751501.html
Copyright © 2011-2022 走看看