【修改k8s的数据目录】

​​​​​一、修改kubelet工作目录

1、创建kubelet的数据目录
mkdir -p /data/k8s/kubelet

2、根据 /usr/lib/systemd/system/kubelet.service.d/10-kubeadm.conf 加载 /etc/sysconfig/kubelet 文件
$ vim /etc/sysconfig/kubelet
KUBELET_EXTRA_ARGS="--root-dir=/data/k8s/kubelet"

#sed -i 's#KUBELET_EXTRA_ARGS=#KUBELET_EXTRA_ARGS="--root-dir=/data/k8s/kubelet"#g' /etc/sysconfig/kubelet
#cat  /etc/sysconfig/kubelet

3、将 /usr/lib/systemd/system/kubelet.service.d/10-kubeadm.conf文件中
所有/var/lib/kubelet改为/data/k8s/kubelet
Environment="KUBELET_CONFIG_ARGS=--config=/data/k8s/kubelet/config.yaml"
EnvironmentFile=-/data/k8s/kubelet/kubeadm-flags.env

#sed -i 's#/var/lib/kubelet#/data/k8s/kubelet#g' /usr/lib/systemd/system/kubelet.service.d/10-kubeadm.conf
#cat  /usr/lib/systemd/system/kubelet.service.d/10-kubeadm.conf|grep /data/k8s/kubelet


4、修改/etc/kubernetes/kubelet.conf的证书路径
client-certificate: /data/k8s/kubelet/pki/kubelet-client-current.pem
client-key: /data/k8s/kubelet/pki/kubelet-client-current.pem

#sed -i 's#/var/lib/kubelet#/data/k8s/kubelet#g' /etc/kubernetes/kubelet.conf
#cat /etc/kubernetes/kubelet.conf|grep  /data/k8s/kubelet

5、拷贝/var/lib/kubelet的数据到新的kubelet数据目录/data/k8s/kubelet
cp -r /var/lib/kubelet/* /data/k8s/kubelet/

6、不能删除/var/lib/kubelet

7、重启kubelet
systemctl daemon-reload;
systemctl restart kubelet;


8、如果发现没有修改重启机器,或者查看拷贝文件是否正确
[root@k8s-node1 ~]#reboot
[root@k8s-node1 ~]# ls /data/k8s/kubelet/

 

#修改前查看
[root@k8s-node1 ~]# df -h|grep pods

 

#修改后查看
[root@k8s-master ~]# df -h|grep pods

 

 二、修改etcd工作目录

修改配置文件后,etcd会自动重启,并且导致对应机器的kubectl不可用,所以请一台一台修改,etcd leader节点放到最后操作,并且确保其他机器的kubectl可用

#创建etcd的数据目录
mkdir -p /data/k8s/etcd

#修改/etc/kubernetes/manifests/etcd.yaml的etcd-data的hostpath
$vim /etc/kubernetes/manifests/etcd.yaml
volumes:
  - hostPath:
      path: /etc/kubernetes/pki/etcd
      type: DirectoryOrCreate
    name: etcd-certs
  - hostPath:
      path: /data/k8s/etcd
      type: DirectoryOrCreate
    name: etcd-data
 

 修改完成后,etcd会自动重启,使用其他master查看etcd状态。

如果etcd起不来的话也是正常的,需要执行以下几步:

  • 删除etcd的pod,删除后pod会从列表中消失,这是正常现象
  • 需把etcd的要把/var/lib/etcd/* 拷贝到更改后的目录 
  • 重启物理机的kubelet
  • 查看状态

 以上4步做完之后,etcd应该已经起来了。

注意,这里一定要先修改配置文件,在拷贝etcd数据

使用kubectl ecex 到一个etcd节点中, 查看etcd状态,一定要等节点状态全部健康后,在继续操作其他节点。

#删除etcd的pod,删除后pod会从列表中消失,这是正常现象
[root@k8s-master ~]# kubectl get pods -A
No resources found

 #把etcd的数据/var/lib/etcd/* 拷贝到更改后的目录

\cp -r /var/lib/etcd/* /data/k8s/etcd

 #重启kubelet(最好重启主机)

systemctl daemon-reload;

systemctl restart kubelet;

reboot;

查看etc状态 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

六月秋峰

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值