在CentOS上对Kubernetes(k8s)集群进行备份与恢复,通常涉及对etcd数据库的备份,因为etcd是Kubernetes集群中所有资源数据的存储位置。以下是备份与恢复的常见方法和工具:
备份:
etcdctl snapshot save
命令创建etcd数据的快照备份。例如:export ETCDCTL_API=3
etcdctl --cacert /etc/kubernetes/pki/etcd/ca.crt --cert /etc/kubernetes/pki/etcd/server.crt --key /etc/kubernetes/pki/etcd/server.key snapshot save /path/to/backup/snapshot.db
这将创建一个名为snapshot.db
的备份文件,其中包含了etcd的数据。恢复:
systemctl stop etcd
etcdctl snapshot restore /path/to/backup/snapshot.db --data-dir /var/lib/etcd/
systemctl restart kubelet
kubectl get pods
检查Pod是否恢复正常。安装Velero:
备份:
velero backup create my-backup --include-namespaces nginx-example --wait
这将创建一个名为my-backup
的备份,包含nginx-example
命名空间的所有资源。恢复:
velero restore create --backup-name my-backup
这将恢复名为my-backup
的备份到当前的集群。rsync
命令进行备份。以上就是在CentOS上对Kubernetes集群进行备份与恢复的常见方法和注意事项。在进行备份与恢复操作时,请根据实际需求和集群环境选择合适的工具和方法。