Docker容器磁盘满了
容器磁盘空间扩容
devicemapper是RHEL的Docker Engine的默认存储驱动,有两种配置模式:loop-lvm和direct-lvm。 loop-lvm是默认的模式,它使用OS层面离散的文件来构建精简池(thin pool)
登录节点vi /etc/docker/daemon.json 文件,增加一条”dm.basesize=15G”,如下截图所示:
然后重启docker:
systemctl restart docker
清理节点上的容器镜像后,需要重新下载镜像。
注意:
容器空间大小根据下载镜像时的配置决定;清理镜像时,要将镜像的所有层都清理干净才会生效。
节点数据盘(docker专用)
- 在EVS界面扩容docker盘。
- 登录目标节点。
- 然后在节点上执行如下命令, 将新增的磁盘容量加到docker盘上。
pvresize /dev/vdb lvextend -l+10%FREE -n vgpaas/kubernetes
lvextend -l+20%FREE -n vgpaas/dockersys
lvextend -l+100%FREE -n vgpaas/thinpool这个命令可以驱逐节点上的容器
kubectl drain <node name> --ignore-daemonsets
然后执行 执行期间,确保节点上没有容器运行
resize2fs /dev/mapper/vgpaas-kubernetes
resize2fs /dev/mapper/vgpaas-dockersys
执行完成后kubectl uncordon <node name>用这个命令吧节点状态改回来