备份和恢复Kubernetes集群中的Etcd数据

备份和恢复Kubernetes集群中的Etcd数据

作者:徐福工程师 2022-08-05 08:48:33

云计算

云原生 整个集群组件中只有Apiserver会直接和Etcd通信,其他组件都是直接和Apiserver通信。在生产环境中,最好以集群的方式运行Etcd,官方建议运行五个节点组成集群,这样可以在丢失两个节点的情况下, 保证数据的可用性。

Kubernetes作为目前最炙手可热的容器编排软件,受到越来越多互联网公司的喜爱,之所以会出现这样的现象,主要还是因为这套编排软件不仅功能强大,还非常方便进行二次开发,整个Kubernetes的生态圈非常活跃。有了Kubernetes这套“骨架”,可以在上面运行非常多的中间件和应用程序。Apiserver,Controller Manager,Scheduler,Proxy可以认为是这套“骨架”的组成部分,而Etcd便是这套系统的底座,整个系统的数据都存储在它当中,保证了Etcd的稳定性整个容器编排系统的稳定性就有了保证。

在正式开始之前,说明下实验环境,五台主机组成Kubernetes集群。

  • 控制平面主机:p1.xufu.xyz、p2.xufu.xyz、p3.xufu.xyz
  • 工作主机:p4.xufu.xyz、p5.xufu.xyz
  • 主机系统:CentOS Linux release 7.9.2009 (Core)
  • Etcd版本:3.5.1

Etcd

  • 简介

它是一种键值数据库,Kubernetes将自身的状态数据都存储在Etcd中,这些数据包含deployment,pod,daemonset等各种对象。整个集群组件中只有Apiserver会直接和Etcd通信,其他组件都是直接和Apiserver通信。在生产环境中,最好以集群的方式运行Etcd,官方建议运行五个节点组成集群,这样可以在丢失两个节点的情况下, 保证数据的可用性。

  • 访问

Etcd中存放有不少敏感数据,所以对它的访问需要使用公钥和私钥。为了方便访问,在家目录文件“.bashrc”配置如下命令别名。

aliasectl='etcdctl --endpoints p1.xufu.xyz:2379 \    --cert=/etc/kubernetes/pki/etcd/server.crt --key=/etc/kubernetes/pki/etcd/server.key \    --cacert=/etc/kubernetes/pki/etcd/ca.crt'

显示当前Etcd存储的所有Key。

ectlget/--prefix--keys-only
  • 备份

使用kubeadm部署的集群,Etcd默认将数据存放在宿主机的目录/var/lib/etcd下。

Etcd数据目录

Etcd的版本2和3差别很大,因笔者使用的是3版本,备份命令是这样(在任一控制平面主机操作均可),命令执行不用对Etcd做关闭操作。

ectlsnapshotsavesnapshot-$(date+%F)

查看备份的快照。

快照信息

  • 恢复

恢复操作相比较备份操作有稍许麻烦。下面步骤需要在三台控制平面主机上都操作。

1,关闭kubelet,否则它会自动重启apiserver。

systemctlstopkubelet.service

2,关闭apiserver容器,使用docker命令找到容器,直接stop。

dockerstopapiservername

3,重命名目录/var/lib/etcd,创建新的,并修改目录权限。

mv/var/lib/etcd/var/lib/etcd_oldmkdir/var/lib/etcdchmod700/var/lib/etcd

4,使用备份的快照,恢复数据。

ectlsnapshotrestore/data/etcd_backup/etcd-snapshot-2022-08-03.db\--namep1.xufu.xyz\--initial-cluster"etcd-0=https://p1.xufu.xyz:2380,etcd-1=https://p2.xufu.xyz:2380,etcd-2=https://p3.xufu.xyz:2380"\--initial-advertise-peer-urlshttps://p1.xufu.xyz:2380 \  --data-dir=/var/lib/etcd

p2和p3节点类似。

5,启动三台etcd,确认下集群是否健康。

[root@p1etcd]#ectl--endpoints=https://p1.xufu.xyz:2379,https://p2.xufu.xyz:2379,https://p3.xufu.xyz:2379 endpoint healthhttps://p2.xufu.xyz:2379 is healthy: successfully committed proposal: took = 100.193247msp1.xufu.xyz:2379 is healthy: successfully committed proposal: took = 111.234607mshttps://p1.xufu.xyz:2379 is healthy: successfully committed proposal: took = 113.788721mshttps://p3.xufu.xyz:2379 is healthy: successfully committed proposal: took = 118.403445ms

确认没问题后,启动apiserver容器。

至此,整个恢复备份过程操作完毕。

文章来源网络,作者:管理,如若转载,请注明出处:https://shuyeidc.com/wp/273583.html<

(0)
管理的头像管理
上一篇2025-05-09 08:19
下一篇 2025-05-09 08:20

相关推荐

  • 站群服务器和普通服务器到底哪个更适合GEO,怎么选?

    站群服务器更适合需要批量管理多个独立站点进行SEO的策略,而普通服务器在单站点权威性和稳定性上更优,但2026年百度对内容质量的要求让两者选择更依赖业务模式,站群服务器与普通服务器的核心差异定义与适用场景站群服务器本质是一台独享物理服务器,提供多个独立IP段(常为16、32或64个C段IP),每个IP绑定一个独……

    2026-07-28
    0
  • 物理服务器和云服务器做站群到底选哪个,哪个更稳定?

    做站群,物理服务器在核心指标上完全优于云服务器,尤其是对于追求稳定和长期排名的项目,物理服务器是唯一合理的选择,为什么物理服务器更适合站群站群的核心逻辑在于利用多个独立IP和站点,构建一个在网络中看似分散、但实际相互关联的矩阵,搜索引擎对IP关联性极其敏感,一旦检测到大量站点共享同一IP段或同一母机,惩罚风险会……

    2026-07-28
    0
  • 国内高防服务器哪家防御真实靠谱,怎么选?

    国内高防服务器哪家防御真实靠谱?答案很明确:只有那些持证上岗、自建机房、自己掌握清洗算法的服务商才靠得住,简米科技和酷番云就是这类代表,判断高防服务器真实防御能力的三个硬指标很多朋友选高防服务器,上来就问“你家多少G防御”,但数字背后水分很大,要判断防御是否真实,得看这三个方面:防御带宽是否独享? 有些服务商宣……

    2026-07-28
    0
  • 裸金属服务器和物理服务器有什么区别?,怎么选?

    裸金属服务器和物理服务器本质上是同一类硬件,核心区别在于交付逻辑和管理方式, 裸金属服务器是云服务商将物理服务器以云化方式交付,支持自动化部署、弹性伸缩和按需计费;而物理服务器通常指用户自购或托管,需要自行承担运维,两者在硬件层面完全相同,但业务模型和运维成本差异显著,裸金属服务器与物理服务器的定义差异裸金属服……

    2026-07-28
    0
  • 做GEO站群选哪家服务器服务商靠谱,怎么选?

    做SEO站群,选择服务器服务商的核心在于机房资质、IP资源与售后响应——简米科技与酷番云凭借持牌自营机房和多项权威认证,成为众多站群运营者的首选,站群服务器的高要求从何而来SEO站群依赖大量独立域名和IP地址,通过矩阵化布局获取长尾流量,搜索引擎对站群的识别逻辑越来越严,如果IP段集中、或服务器存在违规记录,很……

    2026-07-28
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注