如果您的 Kubernetes 集群发生了灾难,您可以使用rke etcd snapshot-restore
来恢复您的 etcd。这个命令可以将 etcd 恢复到特定的快照,应该在遭受灾难的特定集群的 etcd 节点上运行。
当您运行该命令时,将执行以下操作。
- 同步快照或从 S3 下载快照(如有必要)。
- 跨 etcd 节点检查快照校验和,确保它们是相同的。
- 通过运行
rke remove
删除您当前的集群并清理旧数据。这将删除整个 Kubernetes 集群,而不仅仅是 etcd 集群。 - 从选择的快照重建 etcd 群集。
- 通过运行
rke up
创建一个新的集群。
用于恢复 etcd 集群的快照可以存储在本地的/opt/rke/etcd-snapshots
中,也可以从 S3 兼容的后端存储。
请运行以下命令,从本地快照中还原 etcd:
假设快照位于/opt/rke/etcd-snapshots
中。
当从位于 S3 的快照中还原 etcd 时,命令需要 S3 信息才能连接到 S3 后台并检索快照。
**注:**如果您是在恢复安装了 Rancher 的群集,Rancher 用户界面应该在几分钟后启动;您不需要重新运行 Helm。
RKE v0.2.0 之前的版本
如果您的 Kubernetes 集群发生了灾难,您可以使用rke etcd snapshot-restore
来恢复您的 etcd。这个命令可以将 etcd 恢复到特定的快照,应该在遭受灾难的特定集群的 etcd 节点上运行。
当您运行该命令时,将执行以下操作:
- 移除旧的 etcd 集群
- 使用本地快照重建 etcd 群集。
- 运行命令,移除 Kubernetes 集群并清理节点。
还原后,您必须使用rke up
重建 Kubernetes 集群。
请运行以下命令,从本地快照中还原 etcd:
假设快照位于/opt/rke/etcd-snapshots
中。
快照必须在所有etcd
节点上手动同步。
pki.bundle.tar.gz
文件也应在同一位置。
选项 | 描述 |
---|---|
—name | 指定快照名称 |
—config | 指定一个备用的集群 YAML 文件(默认:cluster.yml ) [$RKE_CONFIG] |
使用由 SSH_AUTH_SOCK 定义的 SSH 代理授权 | |
—ignore-docker-version |