K8s 修改数据目录

参考网址:kubelet修改工作目录 | 好好学习的郝

需求描述

kubelet的默认工作目录(存储目录)是/var/lib/kubelet,会存放volume文件(包括emptyDir volume)、plugin文件等,默认挂载在系统盘。
而系统盘一般都不会太大,因此最好把kubelet工作目录更改到数据盘。
本文中,我们会把docker的工作目录从/var/lib/kubelet改到/app/kubelet,其中/app目录挂载了数据盘。

修改配置

“建议先修改node节点的,再修改主节点的”

  1. 停止kubelet
1
systemctl stop kubelet
  1. 拷贝kubelet工作目录数据文件到新路径
1
2
3
4
5
mkdir -p /app/kubelet  
cp -rf /var/lib/kubelet/pods /app/kubelet/
cp -rf /var/lib/kubelet/pod-resources /app/kubelet/
mv /var/lib/kubelet/pods{,.old}
mv /var/lib/kubelet/pod-resources{,.old}

注意,以下文件和目录一定要保留在老路径,不要移动和删除

  • /var/lib/kubelet/config.yaml
  • /var/lib/kubelet/kubeadm-flags.env
  • /var/lib/kubelet/pki
  • /var/lib/kubelet/device-plugins
  1. 添加或修改 /etc/sysconfig/kubelet 配置文件,添加root-dir参数
1
KUBELET_EXTRA_ARGS="--root-dir=/app/kubelet"

PS:如果是ubuntu系统,则要修改 /etc/default/kubelet 配置文件
4. 重启kubelet

1
2
systemctl daemon-reload && systemctl restart kubelet
systemctl status kubelet
  1. 清理旧工作目录(可选)
1
2
rm /var/lib/kubelet/pods.old -rf  
rm /var/lib/kubelet/pod-resources.old -rf