在Ubuntu上备份Kubernetes,可参考以下方法:
etcd是Kubernetes集群的关键组件,存储着集群的所有配置信息和状态信息。可使用etcdctl命令进行备份,具体操作如下:
etcdctl版本与etcd版本匹配,可通过etcdctl version查看。export ETCDCTL_API=3,以及ETCD_ENDPOINTS、ETCD_CERT、ETCD_KEY、ETCD_CACERT等,用于指定etcd集群的连接信息。etcdctl snapshot save <backup-file-path>,例如etcdctl snapshot save /path/to/etcd-backup.db。可使用kubectl命令备份集群的配置信息,如kubectl get pods,deployments,services --all-namespaces -o yaml > backup/cluster-config.yaml,将所有命名空间下的Pod、Deployment、Service等资源导出为YAML格式并保存。
对于运行在集群中的应用程序,可使用kubectl cp命令备份Pod的数据,如kubectl cp <pod-name>:/path/to/source /path/to/destination。也可使用rsync命令备份PersistentVolumes的数据,如rsync -avz /path/to/pv /path/to/backup。
Velero是开源的Kubernetes备份与恢复工具,支持对整个集群或选定资源进行备份。安装Velero后,可使用velero backup create命令创建备份,指定要备份的命名空间和资源类型等。