Istio 试点版本不匹配。如何升级呢?

Istio pilot version mismatch. How to upgrade it?

我已经将 istio 从 1.6.0 升级到 1.6.8。一切顺利。 使用 1.6.8 验证 kubectl get pods -n default -l istio.io/rev={revision} returns 所有 pods 都是 运行,但是 istioctl version returns

client version: 1.6.8
istiod version: 1.6.8
pilot version: 1.6.0
data plane version: 1.6.8 (12 proxies)

这表明 pilot 在旧版本上仍然是 运行。我无法找到任何信息如何在不重新安装整个 istio 的情况下升级它。

有干净的 1.6.0 安装

istioctl version
client version: 1.6.8
control plane version: 1.6.0
data plane version: 1.6.0 (3 proxies)

金丝雀安装后有1.6.8

istioctl version
client version: 1.6.8
pilot version: 1.6.0
istiod version: 1.6.8
data plane version: 1.6.8 (2 proxies), 1.6.0 (7 proxies)

为什么会这样?因为有 2 个版本可用,原始版本和金丝雀版本。

如前所述here

It was separated from control plane version into 2 parts: pilot version and istiod version.

Btw, it is istio-ingressgateway which uses 1.6.0 in data plane version. It seems intended to update ingress-gateway


I'm not able to find any information how to upgrade it without reinstalling whole istio.

如果我理解正确,你不能用这个版本升级它,这里的主要问题是没有删除旧控制平面的选项​​,这已经包含在 1.7 version 中。

同样的事情发生在这个tutorial


解决方法 将安装高于 1.7 的版本,然后如果您查看文档,可以找到 Uninstall old control plane and Uninstall canary control plane.

的步骤

其他资源: