如何将 Istio 回滚到旧的控制平面,而不是完成金丝雀升级?

How to rollback Istio to the old control plane, instead of completing the canary upgrade?

我们正在对 Istio 设置的 Canary 升级进行测试,从 1.7.31.8.6 版本。

因此我们为 istio 控制平面安装了金丝雀版本 1-8-6,并将一个命名空间映射到升级版本。我们测试了该应用程序,我们收到了 200 个响应。

到目前为止,一切都按预期进行。所以为了尝试回滚,我们只是去看了文档,但是关于回滚的步骤不够清楚。

这里重装网关的方法是什么?我们使用 istioctl 覆盖和默认配置文件进行 v1.7.3 安装。那么,如何重装网关呢?

卸载金丝雀版本后,入口网关 pods 被删除,我们的应用程序因 500 错误而崩溃。

所以想弄清楚从金丝雀版本回滚到以前安装的版本的确切过程。 但由于一些问题,我们想回滚到以前的版本。

你不应该这样做

istioctl x uninstall --revision=canary

如果您升级成功。仅当您决定在过程中停止升级并想返回时才应使用此命令。

要降级到较低版本的 Istio,您应该使用 istioctl upgrade。步骤与实际升级过程相同,您只需使用istioctl对应低版本的二进制文件即可。
您可以在 docs.

中找到更多信息

如果您仍想选择 istioctl x uninstall,并回答您的问题:

reinstall the gateway(s) for the previous revision manually

表示按照与第一次部署 Istio 时相同的方式安装网关。如果你使用默认配置,没有创建任何自定义网关,你可以使用低版本安装文件自带的yaml文件。