回滚至 v2.0-v2.1 版本
Rancher 不再支持回滚到 Rancher v2.0-v2.1。这里保留了回滚到这些版本的说明,仅用于从 Rancher v2.0-v2.1 升级到 Rancher v2.2+ 失败的情况。
如果您需要执行的回滚属于以下类型,您必须遵循一些额外的说明,以使您的集群工作:
- 从 v2.1.6+回滚到 v2.1.0 - v2.1.5 或 v2.0.0 - v2.0.10 之间的任何版本。
- 从 v2.0.11+回滚到 v2.0.0 - v2.0.10 之间的任何版本。
由于针对CVE-2018-20321进行了必要的更改,如果用户想要回滚到存在此漏洞的 Rancher 以前的版本,需要采取特殊步骤。步骤如下:
记录每个集群的
serviceAccountToken
。请在具有kubectl
访问 Rancher 管理平面的机器上保存以下脚本,并执行以下命令。你需要在运行 rancher 容器的机器上运行这些命令。确保在运行命令之前已经安装了 JQ。这些命令将根据您安装 Rancher 的方式而有所不同。使用 Docker 安装的 Rancher:
安装在 Kubernetes 集群上的 Rancher:
执行该命令后,将创建一个
tokens.json
文件。请将此文件备份到安全的地方。您将需要它来恢复 Rancher 回滚后集群的功能。如果您丢失了这个文件,您可能会失去对集群的访问权限。按照回滚说明回滚 Rancher。
一旦 Rancher 恢复,Rancher 管理的每一个集群(除了导入的集群)都将处于
Unavailable
不可用状态。根据您安装 Rancher 的方式应用备份的 token。
使用 Docker 安装的 Rancher。
将以下脚本保存为
apply_tokens.sh
到 Rancher docker 容器运行的机器上。同时将之前创建的tokens.json
文件复制到与脚本相同的目录中。脚本允许执行(
chmod +x apply_tokens.sh
),并执行脚本如下:几分钟后,集群将从
Unavailable
不可用状态回到Available
可用状态。安装在 Kubernetes 集群上的 Rancher。
将下面的脚本保存为
apply_tokens.sh
,保存在有 kubectl 访问 Rancher controlplane 的机器上。同时将之前创建的tokens.json
文件复制到与脚本相同的目录中。设置脚本允许执行(
chmod +x apply_tokens.sh
),并执行脚本如下。几分钟后,集群将从
Unavailable
不可用状态回到Available
可用状态。继续使用 Rancher。