生产级kubernetes etcd数据目录更换

使用kubeadm搭建的k8s集群,默认etcd的数据目录为 /var/lib/etcd 。
集群运行一段时间后, 发现在系统硬盘上的etcd即占空间,又影响速度。所以将其数据目录迁移到ssd中。

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

vim /etc/kubernetes/manifests/etcd.yaml
# 翻到最下方,编辑hostPath
  volumes:
  - hostPath:
      path: /etc/kubernetes/pki/etcd
      type: DirectoryOrCreate
    name: etcd-certs
  - hostPath:
      path: /data/etcd		# 将这个路径改为你要更改到的路径
      type: DirectoryOrCreate
    name: etcd-data

注意,这里不要修改command中的–data-dir。 command中的选项是控制容器中的数据目录,我们只需要改变hostpath就可以了。

修改完成后,etcd会自动重启,使用其他master查看etcd状态。
这里etcd起不来是正常的,需要执行一下几步:

  1. 删除etcd的pod,删除后pod会从列表中消失,这是正常现象
  2. 需把etcd的要把/var/lib/etcd/* 拷贝到更改后的目录
  3. 重启物理机的kubelet
  4. 查看状态
    以上4步做完之后,etcd应该已经起来了。 注意,这里一定要先修改配置文件,在拷贝etcd数据

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值