master资源不足导致pods被驱逐-The node had condition: [DiskPressure].

此文主要内容为新建一个盘,创建软链接,查找大文件,批量删除驱逐状态的pod

查看demo环境发现跑在master上的pods都是Evicted 被驱逐的状态-如图
在这里插入图片描述

deacribe被驱逐的pod,发现是硬盘资源不足导致。The node had condition: [DiskPressure].

查看硬盘资源,发现根目录下资源已经使用97%。
在这里插入图片描述
准备了一块新盘,但是没有使用,于是来新建一块盘。
可以使用disk -l 查看所有的盘。这里因为记录已经过掉了,故无截图。

增加一个硬盘

#新建一个分区
fdisk -l   #查看硬盘
fdisk /dev/sdc    # .dev/sdb为挂载需要的硬盘
m   #查看帮助信息
n    # 添加一个新的分区
p   #输出分区表
1  #这里的数字要看情况,一般使用默认的就好 
enter    #默认就好
enter    #默认就好
w  #将刚做的配置写入内核

#格式化硬盘
mkfs.ext4 /dev/sdc1   #格式化  1 是上面步骤的
mkdir /data
mount  /dev/sdc1 /data   #将硬盘挂载到data目录下

#永久挂载
vi /etc/fstab 永久挂载 按照文本的写法
/dev/sdc1  /data   ext4    defaults 0 0 

挂载好文件后,查看是否挂载成功

[root@demo-master ~]# mount | grep /dev/sdc
/dev/sdc1 on /data type ext4 (rw,relatime,data=ordered)

df -h 查看很多的文件都是docker的,于是想着将docker的东西存到data目录下,如果要修改docker文件的额默认地址,会比较麻烦,可以使用软链接连过去。

创建软链接

cp -a /var/lib/dokcer /tmp/    #备份
cp -a docker /data/    #注意此处需要-a
ln -s /data/docker/ ./       #创建软链接 

在这里插入图片描述
软链接创建完成,可以尝试往/var/lib/docker里面写入文件,你会在/data/docker目录下看到这个文件。
在这里插入图片描述
将文件移除后,发现磁盘占用还是大于80%,再继续查看有哪些文件是占了很大空间的。

后来觉得日志文件也比较大,于是把日志文件也移到/data目录下了,这样根目录下的磁盘空间不回持续增加

查找大文件
find . -type f -size +500M  -print0 | xargs -0 du -h | sort -nr

查找大于500M的文件,然后按数值大小排倒序

最后删除一些东西之后,根目录磁盘占比为75,将处于驱逐状态的pod删除,然后运行成功。

kubectl get pod -o wide --all-namespaces | awk '{if($4=="Evicted"){cmd="kubectl -n "$1" delete pod "$2; system(cmd)}}'
  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值