以下是在CentOS上恢复Kubernetes(k8s)的常见步骤,可根据备份方式选择对应方法:
一、基于etcd备份恢复
- 停止etcd服务
systemctl stop etcd - 清理现有etcd数据
rm -rf /var/lib/etcd/* - 从备份恢复etcd数据
etcdctl --cacert=/etc/kubernetes/pki/etcd/ca.crt \ --cert=/etc/kubernetes/pki/etcd/server.crt \ --key=/etc/kubernetes/pki/etcd/server.key \ snapshot restore /path/to/backup/snap1.db --data-dir=/var/lib/etcd/ - 重启etcd及Kubernetes组件
systemctl start etcd systemctl restart kubelet - 验证恢复状态
etcdctl endpoint health # 检查etcd健康状态 kubectl get nodes # 检查节点状态
二、使用Velero工具恢复
- 安装Velero(若未安装)
参考官方文档配置存储后端(如Minio)并安装客户端/服务端。 - 执行恢复操作
velero restore create--backup-name (
为之前创建的备份名称,可通过velero backup get查看)。 - 验证恢复结果
kubectl get pods --all-namespaces # 检查Pod状态 kubectl get nodes # 检查节点状态
三、注意事项
- 备份完整性:恢复前需确认备份文件有效(如通过
etcdctl snapshot status检查)。 - 生产环境建议:优先在测试环境验证恢复流程,避免直接操作生产集群。
- 权限与配置:确保恢复时使用的证书、配置文件与备份时一致。
具体操作可根据实际备份方式(如是否使用ACK备份中心)调整,参考来源:。