1.背景:
运行一年多k8s集群出现大量evicted pod,但有running pod,系统是正常运行的。
其实这是kubernetes集群一种驱逐机制,用来提醒节点资源告警。
可以通过
kubectl describe pod -n mec security-ccc447dbf-vqvdp
#可以看到具体提醒
2、解决方法:
查看告警pod节点存储情况
df -lh
ls /data
du -sh *
发现是kubernetes每天日志占用巨大存储,需要定时任务每天清理
删除7天前日志
#复制delete_data_logs.sh脚本
ansible k8s-all -m file -a "dest=/opt/addons/custome-tools/ state=directory"
ansible k8s-all -m copy -a "src=/opt/addons/custome-tools/delete_data_logs.sh dest=/opt/addons/custome-tools/"
ansible k8s-all -m cron -a "name='delete data log cron' job='/usr/bin/sh /opt/addons/custome-tools/delete_data_logs.sh > /dev/null 2>&1 ;