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专用)

  1. 在EVS界面扩容docker盘。
  2. 登录目标节点。
  3. 然后在节点上执行如下命令, 将新增的磁盘容量加到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>用这个命令吧节点状态改回来
    
    





原文地址:https://www.cnblogs.com/oscarli/p/13272208.html