如何修改docker和kubelet工作目录

背景介绍

本文介绍的内容,以docker-ce=18.03.1~ce-0~ubuntu 和 kubernetes=1.14.2-00版本为例介绍,其他版本应该大同小异。

我们知道,docker-ce的默认工作目录是/var/lib/docker,会存放docker镜像文件、容器日志及写到容器临时目录的文件等。

kubelet的默认工作目录是/var/lib/kubelet,会存放volume文件(包括emptyDir volume)、plugin文件等。

这实际存在一个风险:大量的镜像文件或容器日志等,可能把操作系统根分区容量占满,进而导致系统crash或k8s pod被频繁驱逐等异常发生。

我们在生产环境上,往往需要更改docker和kubelet的工作目录,将其改到另外一块数据盘的文件系统上,例如下文中的“/mnt/data”目录。

修改docker工作目录

1.修改配置文件/etc/docker/daemon.json 

{
  "graph": "/mnt/data/docker"
}

2 重启docker service

sudo systemctl daemon-reload
sudo systemctl restart docker

3 确认更改生效

sudo docker info

看到 “Docker Root Dir: /mnt/data/docker” ,说明修改成功。

修改kubelet工作目录

1 修改配置文件/etc/default/kubelet (默认不存在该文件,需要新增创建)

KUBELET_EXTRA_ARGS=--root-dir=/mnt/data/kubelet

2 重启kubelet service

sudo systemctl restart kubelet

3 确认修改生效

ps -aux|grep kubelet

看到 “--root-dir=/mnt/data/kubelet”, 说明修改成功。

你可能感兴趣的:(如何修改docker和kubelet工作目录)