回滚到特定版本

    如果回滚在这两种情况下,则必须遵循一些额外的说明才能使集群正常工作。

    • 从 v2.0.11+ 回滚到 v2.0.0-v2.0.10 之间的任何版本。

    由于早期的 Rancher 版本存在安全漏洞,如果用户需要回滚到存在此漏洞的 Rancher 的早期版本。则需要采取特殊步骤,步骤如下:

    1. 记录每个集群的。为此,将以下脚本保存在运行 rancher 容器(单节点)或可以通过 kubectl 访问 Rancher 管理平面(高可用)的计算机上,并且运行它们。在运行命令之前,请确保已安装 了 JQ。这些命令取决于您的 Rancher 安装方式。

      单节点 Rancher

      高可用 Rancher

      1. kubectl get clusters -o json | jq '[.items[] | select(any(.status.conditions[]; .type == "ServiceAccountMigrated")) | {name: .metadata.name, token: .status.serviceAccountToken}]' > tokens.json
    2. 一旦 Rancher 恢复正常,由 Rancher 管理的每个集群(导入集群除外)将处于Unvailable状态。

    3. 根据您安装 Rancher 的方式应用备份的 tokens。

      单节点 Rancher

      将以下脚本另存为apply_tokens.sh,然后保存到运行 Rancher docker 容器的机器上。并且将先前创建的文件复制到脚本所在的目录。

      1. ./apply_tokens.sh <DOCKER CONTAINER NAME>

      片刻之后,集群将从Unavailable状态回到Available状态。

      高可用 Rancher

      将以下脚本另存为,并复制到可以通过 kubectl 访问 Rancher 管理平面的计算机上。并且将先前创建的tokens.json文件复制到脚本所在的目录。

      允许执行脚本(chmod +x apply_tokens.sh)并执行脚本,如下所示:

      1. ./apply_tokens.sh

      片刻之后,集群将从Unavailable状态回到状态。