在CentOS上备份和恢复Kubernetes(k8s)集群是一个重要的任务,以确保数据的安全性和业务的连续性。以下是一些常用的备份方法和恢复步骤:
etcdctl 命令来备份etcd数据。例如:etcdctl snapshot save /path/to/backup/snapshot.db
docker 或 skopeo 等工具来备份容器镜像。例如:docker save -o /path/to/backup/image.tar image_name
或者使用 skopeo:skopeo copy docker://image_name file:///path/to/backup/image.tar
kubectl、rsync 等工具进行备份。例如:kubectl cp pod_name:/path/to/container/data /local/path
或者使用 rsync:rsync -avz --delete /path/to/source/ user@remote_host:/path/to/destination/
helm install velero ./velero --set tag=v1.14.1 --namespace velero
velero backup create my-backup --include-namespaces my-namespace --include-resources pod,service,persistentvolumeclaim
velero restore create --from-backup my-backup
systemctl stop etcd
etcdctl snapshot restore /path/to/backup/snapshot.db --data-dir /var/lib/etcd/
systemctl restart kubelet
kubeadm reset 和 kubeadm join 命令重新加入节点。kubeadm reset -f
kubectl delete all --all
kubeadm join <master-ip>:<master-port> --token <token> --discovery-token-ca-cert-hash sha256:<hash>
kubectl 命令检查etcd状态和Kubernetes组件状态。例如:etcdctl endpoint health
kubectl get nodes
kubectl get pods --all-namespaces
通过以上步骤,您可以在CentOS上对Kubernetes集群进行备份和恢复,确保数据的安全性和业务的连续性。