清理节点中孤儿pod

原因

  • 公司一直使用的1.13版本k8s,经常会出现pod删除后,目录未清理的情况产生日志报错
  • 孤儿pod越来越多,浪费的磁盘空间无法释放,且报警日志error数过多

解决方案

编写了以下脚本并添加crontab实现自动解决该问题。

#!/bin/bash
#worker节点孤儿pod处理
>/tmp/orphanedMount.txt && >/tmp/orphanedPod.txtIFS=$'\n'    #设置默认分隔符echo `date` >>/data/logs/orphanedPod.log;echo '异常挂载目录:' >>/data/logs/orphanedPod.log
#获取异常挂载目录
for i in `tail -n10 /data/logs/kubernetes/kubelet/kubelet.log`;doif [[ $i =~ "transport endpoint is not connected occurred during checking mounted volumes from disk" ]];thenecho `echo $i | awk -F : '{print $(NF -1)}'|awk '{print $NF}'` >>/tmp/orphanedMount.txt;fi;
done#umount异常挂载目录
for i in `cat /tmp/orphanedMount.txt|uniq`;doecho $i "is error mount" >>/data/logs/orphanedPod.log;umount $i;echo $i "deleted" >>/data/logs/orphanedPod.log;
doneecho '等待60s后查询孤儿pod日志' >>/data/logs/orphanedPod.log
sleep 60echo '孤儿pod报错:' >>/data/logs/orphanedPod.log
#获取孤儿pod报错
for i in `tail -n10 /data/logs/kubernetes/kubelet/kubelet.log`;doif [[ $i =~ "Orphaned pod" ]];thenecho `echo $i| awk -F '\"' '{print $2}'` >>/tmp/orphanedPod.txt;fi;
done#删除孤儿pod目录
for i in `cat /tmp/orphanedPod.txt|uniq`;doecho $i "is orphaned pod" >>/data/logs/orphanedPod.log;mv /data/kube/kubelet/pods/$i /tmp;echo $i "deleted" >>/data/logs/orphanedPod.log;
doneINF=' '        #设置默认分隔符

K8S-OrphanedPod清理脚本相关推荐

  1. 我的一个学生在运维工作中写的自动日志清理脚本程序

    本文是我的一个学生在运维工作中写的自动日志清理脚本程序,我这里不评价该shell脚本写的好与坏,只是发出来,和大家做一个分享,如果能给大家带来一点点思路上的参考就够了. 自动日志清理脚本程序 #!/b ...

  2. Centos7搭建Java环境,并设置项目自启动脚本、定时数据库备份/日志清理脚本

    开发环境下载,提供nginx-1.12.2.jdk-8u162.Jenkins下载 建个文件夹,作为开发环境存放路径 cd /usr mkdir developmentEnvironment cd / ...

  3. kubernetesV1.13.1一键部署脚本(k8s自动部署脚本)

    kubernetesV1.13.1一键部署脚本(k8s自动部署脚本)  devops的那些事 https://www.jianshu.com/p/c26af5647865 请关注公众号,技术获得k8s ...

  4. Linux磁盘空间爆满怎么办?定时文件清理脚本配置实现

    在Linux系统上跑任务会遇到系统磁盘空间爆满的情况,表现出来的现象是程序运行报错,或执行缓慢.记录下Linux磁盘空间占用的查看方法和文件清理脚本定时触发配置的实现. 一.Linux磁盘空间占用分析 ...

  5. 我的Winsxs目录清理脚本

    最近两天我的C盘空间不够了,竟然只剩几K,真的很晕菜,而且即使使用CCleaner清理也没用,第二天又满了.所以下决心要清理Winsxs目录.之前我的winsxs清理脚本编写过一个版本,发布在我cnb ...

  6. ES索引清理脚本-总结

    ES索引清理脚本-总结 之前写过一个日格式的索引清理脚本,目前所在公司用的是「周」格式清理,所以再更新一下 前言 脚本流程:通过时间匹配历史索引 -> 记录到文件 -> 按照记录文件清理 ...

  7. linux下清理脚本,linux通用清理脚本

    下面是编程之家 jb51.cc 通过网络收集整理的代码片段. 编程之家小编现在分享给大家,也给大家做个参考. #!/bin/sh ########################### #delete ...

  8. Cadence文件结构及清理脚本

    Cadence文件结构及清理脚本 Cadence文件结构 硬件文件夹 PRO_NAME_HW_LOG HW_REV0.0.0 Cadence文件清理脚本 脚本使用 注意事项 Cadence文件结构 P ...

  9. K8s卸载清理flannel插件清理

    K8s相关目录清理 yum remove -y kubelet kubeadm kubectl kubeadm reset -f modprobe -r ipip lsmod rm -rf ~/.ku ...

最新文章

  1. java 变量与常量_详解Java变量与常量
  2. springboot学习笔记(九)
  3. Xtreme8.0 - Kabloom dp
  4. lamp和php,[LAMP]Apache和PHP的结合
  5. 客户端触发PostBack回发的两种写法
  6. 最新版本科、硕士、博士的区别
  7. Windows Sockets网络编程读书笔记(及简单C/S实现)
  8. 基于Linux系统开发在线词典
  9. 软件设计模式(持续更新)
  10. cx_oracle 字符编码,cx_oracle访问处理oracle中文乱码问题
  11. 4000汉字无一重字
  12. git error 已解决【Another git process seems to be running in this repository, e.g. an editor opened by】
  13. webview在android8.0,解决Android8.0系统应用打开webView报错
  14. hive:建库建表、表分区、内部表外部表、数据导入导出
  15. linux 命令:ps 详解
  16. 财务共享建设后,为什么比别人效率低,因为忽略了这个关键点
  17. Selenium+WebDriver 各浏览器驱动下载与版本对应
  18. 机器学习(二)多元线性回归算法预测房价
  19. 基础篇. ARM架构和处理器(3)
  20. 0672-5.16.1-CDSW中Run Experiments异常分析

热门文章

  1. 【MySQL 8.0 OCP 1Z0-908认证考试】题库精讲--第三讲mysql8.0安装配置升级(下)
  2. ARMv7 与 ARMv8的区别
  3. 【硬核】 ROS Navigation 局部路径规划常见算法
  4. 0基础学RS(二十七)ACL访问控制列表
  5. Spring Boot 异常错误处理
  6. mysql添加中国省份城市sql语句
  7. 小伙利用Python绘制999种玫瑰花表白女神,会编程男孩子真好
  8. c语言中scanf返回值被忽略,返回值被忽略scanf是什么意思
  9. 3dmax动画学习阶段总结
  10. 基本概念:转发和重定向