回滚到特定版本
如果回滚在这两种情况下,则必须遵循一些额外的说明才能使集群正常工作。
- 从 v2.0.11+ 回滚到 v2.0.0-v2.0.10 之间的任何版本。
由于早期的 Rancher 版本存在安全漏洞,如果用户需要回滚到存在此漏洞的 Rancher 的早期版本。则需要采取特殊步骤,步骤如下:
记录每个集群的。为此,将以下脚本保存在运行 rancher 容器(单节点)或可以通过 kubectl 访问 Rancher 管理平面(高可用)的计算机上,并且运行它们。在运行命令之前,请确保已安装 了 JQ。这些命令取决于您的 Rancher 安装方式。
单节点 Rancher
高可用 Rancher
kubectl get clusters -o json | jq '[.items[] | select(any(.status.conditions[]; .type == "ServiceAccountMigrated")) | {name: .metadata.name, token: .status.serviceAccountToken}]' > tokens.json
一旦 Rancher 恢复正常,由 Rancher 管理的每个集群(导入集群除外)将处于
Unvailable
状态。根据您安装 Rancher 的方式应用备份的 tokens。
单节点 Rancher
将以下脚本另存为
apply_tokens.sh
,然后保存到运行 Rancher docker 容器的机器上。并且将先前创建的文件复制到脚本所在的目录。./apply_tokens.sh <DOCKER CONTAINER NAME>
片刻之后,集群将从
Unavailable
状态回到Available
状态。高可用 Rancher
将以下脚本另存为,并复制到可以通过 kubectl 访问 Rancher 管理平面的计算机上。并且将先前创建的
tokens.json
文件复制到脚本所在的目录。允许执行脚本(
chmod +x apply_tokens.sh
)并执行脚本,如下所示:./apply_tokens.sh
片刻之后,集群将从
Unavailable
状态回到状态。