财经 来源:TechWeb 阅读量:19652 2022-01-10 02:47
长时间运行的集群,常会面临各种资源耗尽的问题,另外磁盘不足时 Kubelet 还会主动清理镜像增加不确定因素,本文提供了一些命令片段用于清理工作。
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$1deletepvc$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'^'|awk'print'|xargskill—HUPgt,/dev/null2gt,amp,1 3. Docker 清理 查看磁盘使用情况 dockersystemdfTYPETOTALACTIVESIZERECLAIMABLEImages36123178.5GB173.8GBContainers2996.682GB6.212GBLocalVolumes403.139MB3.139MBBuildCache000B0B 清理 none 镜像 dockerimages|grepnone|awk'print$3'|xargsdockerrmi 清理不再使用的数据卷 dockervolumerm$
或者
dockervolumeprune 清理缓存 dockerbuilderprune 全面清理
删除关闭的容器,无用的存储卷,无用的网络,dangling 镜像
dockersystemprune—f 清理正则匹配上的镜像
这里清理的是 master—8bcf8d7—20211206—111155163 格式的镜像。可以使用命令hostnamectlset-hostnamenode1来修改hostname。。
awk'print$3'|xargsdockerrmi 4. 设置定时 查看定时任务 crontab—l 设置定时任务 crontab—e
文本新增定时任务
awk'print$3'|xargsdockerrmi451***dockersystemprune—f
这里第一个任务是每隔六个小时的第 35 分钟执行,第二个任务每天的 1 时 45 分执行。节点的hostname必须使用标准的DNS命名,另外千万不用什么默认的localhost的hostname,会导致各种错误出现的。在Kubernetes项目里,机器的名字以及一切存储在Etcd中的API对象,都必须使用标准的DNS命名(RFC1123)。
定时任务的格式
设置定时格式: * * * * * shell
第一个星号,minute,分钟,值为 0—59 第二个星号,hour,小时,值从 0—23 第三个星号,day,天,值为从 1—31 第四个星号,month,月,值为从 1—12 月,或者简写的英文,比如 Nov,Feb 等 第五个星号,week 周,值为从 0—6 或者简写的英文,Wen,Tur 等,代表周几,其中 0 代表周末
。免责声明:市场有风险,选择需谨慎!此文仅供参考,不作买卖依据。