还原 Rancher

    重要提示:

    • 请按照此页面上的说明在已备份的同一集群上还原 Rancher。要把 Rancher 迁移到新集群,请参照步骤迁移 Rancher
    • 如果你需要在升级后将 Rancher 还原到先前版本,请参见。

    Rancher v2.6.4 将 cluster-api 模块从 v0.4.4 升级到 v1.0.2。反过来,cluster-api 的 v1.0.2 版本将集群 API 的自定义资源定义 (CRD) 从 升级到 cluster.x-k8s.io/v1beta1。当你尝试将 Rancher v2.6.4 回滚到以前版本的 Rancher v2.6.x 时,CRD 升级到 v1beta1 会导致回滚失败。这是因为使用旧 apiVersion (v1alpha4) 的 CRD 与 v1beta1 不兼容。

    要避免回滚失败,你需要在尝试恢复操作或回滚之前运行以下 Rancher 脚本:

    • :检查集群中是否有任何与 Rancher 相关的资源。
    • cleanup.sh:清理集群。

    有关详细信息和源代码,请参阅 。

    还原 Rancher - 图2警告

    运行的时候会有停机时间,这是因为脚本会删除 Rancher 创建的资源。

    1. 按照运行脚本。
    2. 按照说明在现有集群上安装 rancher-backup Helm Chart 并恢复之前的状态。
      1. 省略步骤 3。
      2. 执行到步骤 4 时,在要回滚到的 local 集群上安装 Rancher 2.6.x 版本。
    1. 集群页面上,转到 local 集群并单击 Explore。Rancher Server 运行在 集群中。

    2. 在左侧导航栏中,单击 Rancher 备份 > 还原

    3. 单击创建

    4. 使用表单或 YAML 创建 Restore。如需获取使用表单创建 Restore 资源的更多信息,请参见配置参考和。

    5. 要使用 YAML 编辑器,单击创建 > 使用 YAML 文件创建。输入 Restore YAML。

    6. 单击创建

    结果:rancher-operator 在还原过程中将 Rancher deployment 缩容,并在还原完成后将它重新扩容。资源还原顺序如下:

    1. 自定义资源定义(CRD)
    2. 命名空间资源

    如需查看还原的处理方式,请检查 Operator 的日志。查看日志的命令如下:

    如果你使用 kubectl 创建了 Restore 资源,请删除该资源以防止与未来的还原发生命名冲突。

    在某些情况下,恢复备份后,Rancher 日志会显示类似以下的错误:

    发生这种情况的原因是,刚刚还原的某个资源有 finalizer,但相关的资源已经被删除,导致处理程序无法找到该资源。