常用的清理 Kubernetes 集群资源命令

  • 来源:网络
  • 更新日期:2022-01-05

摘要:长时间运行的集群,常会面临各种资源耗尽的问题,另外磁盘不足时 Kubelet 还会主动清理镜像增加不确定因素,本文提供了一些命令片段用于清理工作

长时间运行的集群,常会面临各种资源耗尽的问题,另外磁盘不足时 Kubelet 还会主动清理镜像增加不确定因素,本文提供了一些命令片段用于清理工作。

1. Kubernetes 基础对象清理 清理 Evicted 状态的 Pod kubectlgetpods--all-namespaces-owide|grepEvicted|awk\'{print$1,$2}\'|xargs-L1kubectldeletepod-n 清理 Error 状态的 Pod kubectlgetpods--all-namespaces-owide|grepError|awk\'{print$1,$2}\'|xargs-L1kubectldeletepod-n 清理 Completed 状态的 Pod kubectlgetpods--all-namespaces-owide|grepCompleted|awk\'{print$1,$2}\'|xargs-L1kubectldeletepod-n 清理没有被使用的 PV kubectldescribe-Apvc|grep-E^Name:.*$|^Namespace:.*$|^UsedBy:.*$|grep-B2|grep-E^Name:.*$|^Namespace:.*$|cut-f2-d:|paste-d--|xargs-n2bash-c\'kubectl-n${1}deletepvc${0}\' 清理没有被绑定的 PVC kubectlgetpvc--all-namespaces|tail-n+2|grep-vBound|awk\'{print$1,$2}\'|xargs-L1kubectldeletepvc-n 清理没有被绑定的 PV kubectlgetpv|tail-n+2|grep-vBound|awk\'{print$1}\'|xargs-L1kubectldeletepv 2. Linux 清理 查看磁盘全部空间 FilesystemSizeUsedAvailUse%Mountedon/dev/sda2100G47G54G47%/ 查看指定目录占用 du-sh.24G. 删除指定前缀的文件夹 cd/nfsdatals|greparchived-|xargs-L1rm-r 清理僵尸进程 ps-A-ostat,ppid|grep-e\'^[Zz]\'|awk\'{print}\'|xargskill-HUP>/dev/null2>&1 3. Docker 清理 查看磁盘使用情况 dockersystemdfTYPETOTALACTIVESIZERECLAIMABLEImages36123178.5GB173.8GB(97%)Containers2996.682GB6.212GB(92%)LocalVolumes403.139MB3.139MB(100%)BuildCache000B0B 清理 none 镜像 dockerimages|grepnone|awk\'{print$3}\'|xargsdockerrmi 清理不再使用的数据卷 dockervolumerm$(dockervolumels-q)

或者

dockervolumeprune 清理缓存 dockerbuilderprune 全面清理

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

dockersystemprune-f 清理正则匹配上的镜像

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

dockerimages|grep-E([0-9a-z]*[-]){3,}[0-9]{9}|awk\'{print$3}\'|xargsdockerrmi 4. 设置定时 查看定时任务 crontab-l 设置定时任务 crontab-e

文本新增定时任务

*/35*/6***dockerimages|grepnone|awk\'{print$3}\'|xargsdockerrmi451***dockersystemprune-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 代表周末.


"新网箭头云服务器"