暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

k8s环境迁移docker存储目录及镜像实现

原创 刘韬 云和恩墨 2021-12-09
2493

Docker默认的存储目录是/var/lib/docker。

如果/var目录分配空间较小,那么随着镜像的增加,将撑爆这个目录,造成镜像被kubelet自动删除,下面的方法试验更改存储目录及迁移已有的镜像。

Env:

[root@centos152 ~]# kubelet --version

Kubernetes v1.22.4

[root@centos152 ~]# docker -v       

Docker version 20.10.11, build dea9396

[root@centos152 ~]#

1.           查看默认存储路径

 

[root@centos151 AppServer]# docker info |grep  "Docker Root Dir"

WARNING: overlay2: the backing xfs filesystem is formatted without d_type support, which leads to incorrect behavior.

         Reformat the filesystem with ftype=1 to enable d_type support.

         Running without d_type support will not be supported in future releases.

 Docker Root Dir: /var/lib/docker

 

2.           查看Docker的磁盘使用情况

[root@centos151 AppServer]# docker system df

TYPE            TOTAL     ACTIVE    SIZE      RECLAIMABLE

Images          11        8         1.156GB   347.2MB (30%)

Containers      16        16        2.45kB    0B (0%)

Local Volumes   0         0         0B        0B

Build Cache     0         0         0B        0B

[root@centos151 AppServer]#

3.           把docker目录迁移到/home/dockerdata下

 

[root@centos151 AppServer]# mkdir -p /home/dockerdata

 

停止 k8s docker

systemctl stop kubelet

systemctl stop docker

 

把/var/lib/docker同步到/home/dockerdata下

[root@centos151 AppServer]# rsync -avzHP /var/lib/docker /home/dockerdata

4.           修改存储路径

 

vi /etc/docker/daemon.json  增加一行 "graph":"/home/dockerdatar/docker"

 

[root@centos151 AppServer]# vi /etc/docker/daemon.json

{

  "registry-mirrors": ["https://qnaf9aj5.mirror.aliyuncs.com"],

    "graph":"/home/dockerdata/docker"

}

 

 

5.           重启docker k8s并验证

 

[root@centos151 dockerdata]# systemctl daemon-reload 

systemctl start docker

systemctl start kubelet

 

验证:

[root@centos151 dockerdata]# docker info |grep  "Docker Root Dir"

WARNING: overlay2: the backing xfs filesystem is formatted without d_type support, which leads to incorrect behavior.

         Reformat the filesystem with ftype=1 to enable d_type support.

         Running without d_type support will not be supported in future releases.

 Docker Root Dir: /home/dockerdata/docker

 

镜像验证:

[root@centos151 bin]# docker images

REPOSITORY                                       TAG       IMAGE ID       CREATED         SIZE

k8s.gcr.io/kube-apiserver                        v1.22.4   8a5cc299272d   3 weeks ago     128MB

k8s.gcr.io/kube-controller-manager               v1.22.4   0ce02f92d3e4   3 weeks ago     122MB

k8s.gcr.io/kube-scheduler                        v1.22.4   721ba97f54a6   3 weeks ago     52.7MB

k8s.gcr.io/kube-proxy                            v1.22.4   edeff87e4802   3 weeks ago     104MB

quay.io/coreos/flannel                           v0.15.1   e6ea68648f0c   3 weeks ago     69.5MB

rancher/mirrored-flannelcni-flannel-cni-plugin   v1.0.0    cd5235cd7dc2   5 weeks ago     9.03MB

rancher/mirrored-flannelcni-flannel-cni-plugin   v1.0.0    cd5235cd7dc2   5 weeks ago     9.03MB

willdockerhub/ingress-nginx-controller           v1.0.0    ef43679c2cae   3 months ago    283MB

k8s.gcr.io/etcd                                  3.5.0-0   004811815584   5 months ago    295MB

k8s.gcr.io/coredns/coredns                       v1.8.4    8d147537fb7d   6 months ago    47.6MB

k8s.gcr.io/pause                                 3.5       ed210e3e4a5b   8 months ago    683kB

jettech/kube-webhook-certgen                     v1.0.0    f3b9b9fa842c   2 years ago     51.5MB

[root@centos151 bin]#

成功

 

6.           回退

vi /etc/docker/daemon.json,把 "graph":"/home/dockerdata/docker"  删除重启就回退了

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论