温馨提示×

CentOS K8s怎么备份

小樊
41
2026-08-20 02:01:28
栏目: 智能运维

CentOS 上备份 Kubernetes(K8s) 通常分为 集群级备份应用/数据级备份 两类。下面按常见场景给你一个实用型总结,适合生产环境。


一、最推荐方式(生产必选)

✅ etcd 备份(集群核心)

K8s 的所有集群状态都存在 etcd 中,这是最重要的备份。

1️⃣ 查看 etcd 信息

ps -ef | grep etcd

kubectl get pods -n kube-system | grep etcd

2️⃣ etcd 备份命令(CentOS 常用)

ETCDCTL_API=3 etcdctl snapshot save /backup/etcd-snapshot-$(date +%F-%H%M).db \
  --endpoints=https://127.0.0.1:2379 \
  --cacert=/etc/kubernetes/pki/etcd/ca.crt \
  --cert=/etc/kubernetes/pki/etcd/server.crt \
  --key=/etc/kubernetes/pki/etcd/server.key

✅ 备份文件示例:

/backup/etcd-snapshot-2026-01-21-1430.db

3️⃣ 验证备份

ETCDCTL_API=3 etcdctl snapshot status /backup/etcd-snapshot-*.db

二、定时自动备份 etcd(推荐)

cron 示例

crontab -e
0 2 * * * /usr/local/bin/etcd-backup.sh

脚本示例

#!/bin/bash
BACKUP_DIR=/backup/etcd
mkdir -p $BACKUP_DIR

ETCDCTL_API=3 etcdctl snapshot save \
  $BACKUP_DIR/etcd-$(date +%F-%H%M).db \
  --endpoints=https://127.0.0.1:2379 \
  --cacert=/etc/kubernetes/pki/etcd/ca.crt \
  --cert=/etc/kubernetes/pki/etcd/server.crt \
  --key=/etc/kubernetes/pki/etcd/server.key

三、应用级备份(非常重要)

✅ 使用 Velero(官方推荐)

Velero 是 K8s 应用 + PV 备份 的标准方案。

1️⃣ 安装 Velero

tar -zxvf velero-v1.13.0-linux-amd64.tar.gz
mv velero /usr/local/bin/

2️⃣ 备份示例

velero backup create my-backup --include-namespaces default

查看备份:

velero backup get

3️⃣ 恢复集群

velero restore create --from-backup my-backup

✅ 支持:

  • Deployment / Service
  • ConfigMap / Secret
  • PV(需云存储或 Restic)

四、仅备份 YAML(轻量方案)

适合 配置迁移 / 重建集群

kubectl get all --all-namespaces -o yaml > all-resources.yaml

或按命名空间:

kubectl get ns
kubectl get all -n prod -o yaml > prod.yaml

⚠️ 不包含 PV 数据


五、PV 数据备份(有状态应用)

方式 1:存储级快照

  • Ceph / LVM / 云盘
  • 在存储层做快照

方式 2:Pod 内备份

kubectl exec -it mysql-0 -- mysqldump -u root -p db > db.sql

六、常见备份策略(推荐)

类型 频率 工具
etcd 每天 etcdctl
K8s 资源 每天 Velero
PV 数据 按业务 Restic / 存储快照
配置文件 随时 Git

七、恢复流程(简要)

  1. 重装 K8s(同版本)
  2. 恢复 etcd
  3. 启动集群
  4. Velero 恢复应用

八、我可以继续帮你

你可以告诉我:

  • kubeadm / 二进制 / Rancher / k3s?
  • 是否有 PV / 数据库?
  • 是否生产环境?
  • CentOS 7 还是 8?

我可以直接给你一套 可复制执行的完整备份恢复方案

0