如何修改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”, 說明修改成功。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM