docker 新增--storage-opt 参数解决问题

本文记录了一次K8s集群中Pod无法正常启动的问题排查与解决过程。运维人员通过检查k8s故障Pod、 kubelet日志,执行节点维护,包括暂停kubelet、清理容器服务、调整Docker存储参数等步骤,迅速恢复了服务。在服务恢复后,使用`kubectl uncordon node`命令将节点重新启用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题起因:

早上,干活时候
A同事:问我,为啥k8s调度过来的是正常的,就是起不来嘞;
(说明这个开发同学,还是知道k8s一些东西,不能装逼了)
小运维:回答说,我看一下哈;待会给您回复

(其实心里是如下图:)

哈哈哈
打工人的心情

既然人家是k8s中发现的问题,就肯定让人家“”保护现场”,把报错截图发错来哈

看不清吧,我也当是也这么说的,于是就有下面的截图:

放错了,其实解决速度太快,忘记记录错误日志了;先凑合看一下哈;

问题解决思路如下:

1.排查k8s的故障pod查看,然后kubelet调度组件查看kublet和docker日志

2.节点维护,进行kubectl drain node (记得跟开发打个招呼哈,虽然我只是通知)

3.其实,也是有参考链接,借鉴也要理智气壮,亲测操作如下

3.1 暂停节点调度 systemctl stop kubelet
3.2 清理容器服务内容
docker rm $(docker ps -q -f status=exited)
docker volume rm $(docker volume ls -qf dangling=true)
docker rmi $(docker images --filter "dangling=true" -q --no-trunc)
systemctl restart docker.service
PS:docker 默认/var/lib/docker/devicemapper/devicemapper/date文件大小为100g
3.3 调整方法如下:
vim /usr/lib/systemd/system/docker.service
docker启动参数增加ExecStart=/usr/bin/dockerd 后面增加 --storage-opt dm.loopdatasize=200G
systemctl daemon-reload
systemctl restart docker.service

没办法,我操作起来就是这么快速;

服务恢复也还是要写的:

赶走也要请回来:

systemctl start kubelet #pod管理组件

kubectl uncordon nodes #请回来

一波搞定,若有报错,不要慌,关注或私信哈 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值