在 Kubernetes 集群中,etcd
是一个分布式键值存储,它保存着整个集群的状态,包括节点、Pod、ConfigMap、Secrets 等关键信息。因此,定期对 etcd
进行备份是非常重要的,特别是在集群发生故障或需要恢复数据的情况下。本文将介绍如何备份和恢复 Kubernetes 中的 etcd
数据。
一、备份 ETCD 数据
Kubernetes 集群使用的 etcd
通常运行在控制平面节点上。可以通过 etcdctl
工具来备份 etcd
数据。
1. 安装 etcdctl
如果 etcdctl
没有安装,可以使用以下命令安装 etcdctl
工具:
sudo apt-get install etcd-client
或者从 官方 GitHub 下载适合你的系统版本的 etcdctl
。
2. 确认 ETCD 环境变量
在控制平面节点上,etcd
的 API 通过 HTTPS 进行保护。因此,你需要指定一系列证书文件和 etcd
服务的端点。
export ETCDCTL_API=3
export ETCDCTL_ENDPOINTS=https://127.0.0.1:2379
export ETCDCTL_CACERT=/etc/kubernetes/pki/etcd/ca.crt
export ETCDCTL_CERT=/etc/kubernetes/pki/etcd/server.crt
export ETCDCTL_KEY=/etc/kubernetes/pki/etcd/server.key
其中:
ETCDCTL_API=3
:使用 etcd v3 API。ETCDCTL_ENDPOINTS
&#x