原地升级

istioctl upgrade 命令执行 Istio 的升级。

升级命令还可以执行 Istio 的降级。

查看 istioctl 升级参考,了解 istioctl upgrade 命令提供的全部选项。

升级先决条件

在开始升级过程之前,请检查以下先决条件

  • 已安装的 Istio 版本不低于升级版本的次要版本。例如,在开始升级到 1.7.x 的过程之前,需要 1.6.0 或更高版本。

  • 您的 Istio 安装是 使用 istioctl 安装的

升级步骤

本节中的命令应使用新版本的 istioctl 运行,该版本位于下载的软件包的 bin/ 子目录中。

  1. 下载新的 Istio 版本 并更改到新版本目录。

  2. 确保您的 Kubernetes 配置指向要升级的集群

    $ kubectl config view
    
  3. 确保升级与您的环境兼容。

    $ istioctl x precheck
    ✔ No issues found when checking the cluster. Istio is safe to install or upgrade!
    To get started, check out https://istio.ac.cn/latest/docs/setup/getting-started/
    
  4. 运行以下命令开始升级

    $ istioctl upgrade
    

    如果您使用 --set 标志安装了 Istio,请确保您将相同的 --set 标志传递给升级,否则使用 --set 完成的自定义项将被还原。在生产环境中,建议使用配置文件而不是 --set

    如果您省略了 -f 标志,Istio 将使用默认配置文件进行升级。

    在执行了几项检查后,istioctl 将要求您确认是否继续。

  5. istioctl 将就地升级 Istio 控制平面和网关到新版本,并指示完成状态。

  6. istioctl 完成升级后,您必须手动更新 Istio 数据平面,方法是重新启动所有具有 Istio sidecar 的 pod

    $ kubectl rollout restart deployment
    

降级先决条件

在开始降级过程之前,请检查以下先决条件

  • 您的 Istio 安装是 使用 istioctl 安装的

  • 您打算降级的 Istio 版本不低于已安装的 Istio 版本的次要版本。例如,您可以从 Istio 1.7.x 降级到不低于 1.6.0。

  • 降级必须使用与您打算降级的 Istio 版本相对应的 istioctl 二进制版本。例如,如果您要从 Istio 1.7 降级到 1.6.5,请使用 istioctl 版本 1.6.5。

降级到较低 Istio 版本的步骤

您可以使用 istioctl upgrade 将 Istio 降级到较低版本。步骤与上一节中描述的升级过程相同,只是使用与较低版本(例如 1.6.5)相对应的 istioctl 二进制文件。完成后,Istio 将恢复到以前安装的版本。

或者,可以使用 istioctl install 安装旧版本的 Istio 控制平面。

这些信息有用吗?
您有什么改进建议吗?

感谢您的反馈!