etcd迁移数据目录或迁移节点

这篇具有很好参考价值的文章主要介绍了etcd迁移数据目录或迁移节点。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

有时候, 在实际生产过程中, etcd节点想要迁移或者etcd数据目录所在磁盘性能不足, 需要迁移节点或者目录。 有多种方法。今天列一个比较靠谱的方式, 保证数据的完整性

先来一波etcd的基础命令, 我这里是用kubeadm部署k8s集群

#####从容器中拷贝出来etcdctl 命令
docker cp $(docker ps  |  grep -v etcd-mirror | grep -w etcd | awk '{print $1}'):/usr/local/bin/etcdctl /usr/bin/

###查看etcd 集群成员列表
etcdctl --endpoints=https://10.34.0.66:2379,https://10.34.1.80:2379,https://10.34.3.61:2379 --cacert=/etc/kubernetes/pki/etcd/ca.crt --cert=/etc/kubernetes/pki/etcd/server.crt --key=/etc/kubernetes/pki/etcd/server.key member list

###查看endpoints 状态
etcdctl --endpoints=https://10.34.0.66:2379,https://10.34.1.80:2379,https://10.34.3.61:2379 --cacert=/etc/kubernetes/pki/etcd/ca.crt --cert=/etc/kubernetes/pki/etcd/server.crt --key=/etc/kubernetes/pki/etcd/server.key --write-out=table endpoint status

###查看etcd endpoints的健康
etcdctl --endpoints=https://10.34.0.66:2379,https://10.34.1.80:2379,https://10.34.3.61:2379 --cacert=/etc/kubernetes/pki/etcd/ca.crt --cert=/etc/kubernetes/pki/etcd/server.crt --key=/etc/kubernetes/pki/etcd/server.key --write-out=table endpoint health

###查看所有的key
ETCDCTL_API=3 etcdctl --endpoints=https://10.34.0.66:2379,https://10.34.1.80:2379,https://10.34.3.61:2379 --cacert=/etc/kubernetes/pki/etcd/ca.crt --cert=/etc/kubernetes/pki/etcd/server.crt --key=/etc/kubernetes/pki/etcd/server.key get / --prefix=true --keys-only

###查看某个key具体的内容(会有乱码,因为是序列化后的)
ETCDCTL_API=3 etcdctl --endpoints=https://10.34.0.66:2379,https://10.34.1.80:2379,https://10.34.3.61:2379 --cacert=/etc/kubernetes/pki/etcd/ca.crt --cert=/etc/kubernetes/pki/etcd/server.crt --key=/etc/kubernetes/pki/etcd/server.key get /registry/services/specs/liutest/nginx

从容器中把etcdctl工具复制出来到主机中的/usr/bin目录下

docker cp $(docker ps  |  grep -v etcd-mirror | grep -w etcd | awk '{print $1}'):/usr/local/bin/etcdctl /usr/bin/

备份etcd数据

etcdctl --endpoints 127.0.0.1:2379  \
--cert="/etc/kubernetes/pki/etcd/server.crt"  \
--key="/etc/kubernetes/pki/etcd/server.key"  \
--cacert="/etc/kubernetes/pki/etcd/ca.crt"   \
snapshot save etcd_snap_save.db

备份数据后, 将备份文件etcd_snap_save.db 传到三个节点

停止etcd

etcd恢复需要停止三个节点,不然会导致节点数据不一致, id无法加入集群中

mv /etc/kubernetes/manifests/etcd.yaml /opt/

导入备份数据至新目录

###其中 --name 和--initial-advertise-peer-urls 参数根据自己恢复节点修改成该节点的
主机名和IP,--data-dir 参数修改成自己想要的目录, etcd默认数据目录是/var/lib/etcd,
我这里迁移到/data/etcd 

ETCDCTL_API=3 etcdctl snapshot restore  etcd_snap_save.db  \
--cacert=/etc/kubernetes/pki/etcd/ca.crt  \
--cert=/etc/kubernetes/pki/etcd/server.crt \
--key=/etc/kubernetes/pki/etcd/server.key  \
--data-dir=/data/etcd/   \
--endpoints=https://127.0.0.1:2379 \
--initial-cluster=k8s-master01=https://10.34.0.66:2380,k8s-master02=https://10.34.1.80:2380,k8s-master03=https://10.34.3.61:2380 \
--name=middleware02 \
--initial-advertise-peer-urls=https://10.34.1.80:2380

修改etcd.yaml文件

修改etcd.yaml文件中的数据目录配置
  - hostPath:
      path: /data/etcd    #改成自己的数据目录
      type: DirectoryOrCreate
    name: etcd-data

etcd迁移数据目录或迁移节点,etcd,java,数据库

三个节点的文件全部修改完毕后, 再将文件放回原目录

mv /opt/etcd.yaml  /etc/kubernetes/manifests/

 文章来源地址https://www.toymoban.com/news/detail-672115.html

到了这里,关于etcd迁移数据目录或迁移节点的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • etcd底层支持的数据库有哪些

    etcd底层的数据库可以更换。在当前版本的etcd中,它使用的是BoltDB作为默认的后端存储引擎。但是,etcd提供了接口允许您更换数据库后端,以便根据需要选择更合适的存储引擎。 以下是etcd支持的一些后端数据库选项: BoltDB(默认) :BoltDB是一个嵌入式的键值存储数据库,具

    2024年02月15日
    浏览(33)
  • 【数据库迁移系列】从MySQL到openGauss的数据库对象迁移实践

    在之前这一篇中我们分享过使用chameleon工具完成MySQL到openGauss的全量数据复制、实时在线复制。9.30新发布的openGauss 3.1.0版本 ,工具的全量迁移和增量迁移的性能不但有了全面提升,而且支持数据库对象视图、触发器、自定义函数、存储过程的迁移。 本篇就来分享一下使用c

    2024年02月02日
    浏览(50)
  • 数据库迁移之mysql到达梦数据库

    由于业务需求要求数据库国产化,因此将数据从mysql数据库中迁移到国产达梦数据库中。将mysql中的每个库迁移到达梦不同模式下,下面为详细过程。 (1)安装达梦客户端工具 (2)点击选择DM管理工具 (3)创建模式和用户 在用户菜单中,新建一个TEST模式以及相应的用户。

    2024年02月08日
    浏览(49)
  • mysql数据库迁移

    公司有个项目,刚开始数据量不是大的时候,数据库和服务上的所有应用数据都放在一个旧小盘中,随着项目数据的增长,旧的磁盘被占满了,导致系统无法写入数据,我和同事排查了很长时间,最终确定是磁盘被占满导致的一系列连锁问题。问题找到了,接下来就是想办法

    2024年02月14日
    浏览(37)
  • Django dumpdata 迁移数据库数据

    本文介绍两种常用的 Django 服务迁移数据方法。 这两种方法都需要在新的服务器部署好数据库,创建好相应的数据库表和用户以后再进行。 针对数据量不是很大的项目,可以使用此方法,操作起来比较简单。 通过连接旧的数据库运行dumpdata导出命令导出数据。 连接上新的数

    2024年02月17日
    浏览(35)
  • Django迁移数据到指定数据库

    在Django中,你可以配置多个数据库,并且可以为不同的操作指定使用不同的数据库。这意味着你确实可以同时将数据保存到SQLite和MySQL数据库中,但这需要你在代码中明确指定每次数据库操作应使用哪个数据库。 首先,你需要在Django设置文件 settings.py 中定义两个数据库连接,

    2024年02月01日
    浏览(29)
  • RDS-sql server使用DTS进行数据库迁移,同阿里云账号RDS数据库迁移

    目录 RDS-sql server使用DTS进行数据库迁移,同阿里云RDS数据库迁移 背景: 环境调研: 问题: 1:OA程序文件如何迁移? 2:RDS-sql server数据库文件如何迁移? 迁移思路: 失败思路总结: 迁移过程: 1:OA程序文件迁移 2:数据库文件迁移 2.1 使用OSS桶恢复

    2024年02月09日
    浏览(57)
  • 数据库数据迁移到达梦数据库(DM8)详细步骤,mysql迁移难题解决(数据库连接失败,Communications link failure,TaskDispatcher Error,索引重名)。

    首先达梦数据库和MySQL是两种不同的关系型数据库管理系统,它们有以下几点区别: 开发公司不同:达梦数据库是由中国达梦公司开发的,而MySQL是由瑞典MySQL AB公司开发的。 数据库类型不同:达梦数据库是商业数据库,而MySQL是开源数据库。 数据库功能不同:达梦数据库在

    2024年01月16日
    浏览(43)
  • 数据库迁移平台构思001

    数据库迁移流程: 迁移前:迁移评估 迁移中:结构迁移 数据迁移 数据校验 流量切割 业务验证 反向回滚 迁移后:压测 巡检 架构思考 交互层: 产品模块:数据迁移,数据订阅,数据同步 通用服务:用户管理,权限管理,审核,基本任务信息管理,变更管理 核心设计:任

    2024年04月12日
    浏览(28)
  • 如何迁移MySQL数据库?

    迁移MySQL数据库可以采取多种方法,以下是其中几种常用的方法: 备份和还原:将原有的MySQL数据库备份到一个文件中,然后将备份文件还原到新的MySQL服务器中。具体来说,可以使用mysqldump命令进行备份,使用mysql命令进行还原。例如,备份一个名为mydb的数据库可以使用以下

    2024年02月09日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包