跳到主要内容
版本:v2.7

升级

本文介绍如何升级使用 Helm 安装在 Kubernetes 集群上的 Rancher Server。这些步骤也适用于使用 Helm 进行的离线安装。

有关使用 Docker 安装的 Rancher 的升级说明,请参见本页。

如需升级 Kubernetes 集群中的组件,或 Kubernetes services附加组件(add-on)的定义,请参见 RKE 升级文档的 Rancher Kubernetes 引擎。

先决条件

访问 kubeconfig

Helm 的运行位置,应该与你的 kubeconfig 文件,或你运行 kubectl 命令的位置相同。

如果你在安装 Kubernetes 时使用了 RKE,那么 config 将会在你运行 rke up 的目录下创建。

kubeconfig 也可以通过 --kubeconfig 标签(详情请参见 https://helm.sh/docs/helm/helm/ )来手动指定所需的集群。

查看已知问题

如需查看每个 Rancher 版本的已知问题,请参见 GitHub 中的发行说明,或查看 Rancher 论坛

不支持 升级升级到 rancher-alpha 仓库中的任何 Chart。

Helm 版本

本安装指南假定你使用的是 Helm 3。

如果你使用 Helm 2,请参见 Helm 2 迁移到 Helm 3 文档。如果你不能升级到 Helm 3,Helm 2 升级页面提供了使用 Helm 2 升级的旧升级指南。

离线安装:推送镜像到私有镜像仓库

仅适用于离线安装:为新的 Rancher Server 版本收集和推送镜像。使用你需要针对 Rancher 版本升级的镜像,按照步骤推送镜像到私有镜像仓库

使用 cert-manager 0.8.0 之前的版本升级

从 2019 年 11 月 1 日开始,Let's Encrypt 已屏蔽早于 0.8.0 的 cert-manager 实例。因此,请参见说明把 cert-manager 升级到最新版本。

升级概要

按照以下步骤升级 Rancher Server:

1. 备份运行 Rancher Server 的 Kubernetes 集群

使用备份应用来备份 Rancher。

如果升级过程中出现问题,你将使用备份作为还原点。

2. 更新 Helm Chart 仓库

  1. 更新本地 Helm 仓库缓存。

    helm repo update
  2. 获取你用来安装 Rancher 的仓库名称。

    关于仓库及其区别,请参见 Helm Chart Repositories

    • Latest:建议用于试用最新功能
      helm repo add rancher-latest https://releases.rancher.com/server-charts/latest
    • Stable:建议用于生产环境
      helm repo add rancher-stable https://releases.rancher.com/server-charts/stable
    • Alpha:即将发布的实验性预览。
      helm repo add rancher-alpha https://releases.rancher.com/server-charts/alpha
      注意:不支持升级到 Alpha 版、从 Alpha 版升级或在 Alpha 版之间升级。
    helm repo list

    NAME URL
    stable https://charts.helm.sh/stable
    rancher-<CHART_REPO> https://releases.rancher.com/server-charts/<CHART_REPO>
    备注

    如果你想切换到不同的 Helm Chart 仓库,请按照切换仓库步骤进行操作。如果你要切换仓库,请先再次列出仓库,再继续执行步骤 3,以确保添加了正确的仓库。

  3. 从 Helm Chart 仓库获取最新的 Chart 来安装 Rancher。

    该命令将提取最新的 Chart,并将其作为 .tgz文件保存在当前目录中。

    helm fetch rancher-<CHART_REPO>/rancher

    你可以通过 --version= 标记,来指定要升级的目标 Chart 版本。例如:

    helm fetch rancher-<CHART_REPO>/rancher --version=2.6.8

3. 升级 Rancher

本节介绍了如何使用 Helm 升级 Rancher 的一般(互联网连接)或离线安装。

离线说明:

如果你在离线环境中安装 Rancher,请跳过本页的其余部分,按照本页上的说明渲染 Helm 模板。

从当前安装的 Rancher Helm Chart 中获取用 --set传递的值。

helm get values rancher -n cattle-system

hostname: rancher.my.org
备注

这个命令会列出更多的值。此处展示的只是其中一个值的例子。

如果要将 cert-manager 从 v1.5 或更早的版本升级到最新版本,请参阅 cert-manager upgrade docs 了解如何在不卸载或重新安装 Rancher 的情况下升级 cert-manager。否则,请按照以下 Rancher 升级步骤进行操作。

Rancher 升级步骤

保留你的所有设置把 Rancher 升级到最新版本。

将上一步中的所有值用 --set key=value 追加到命令中。

对于 Kubernetes v1.25 或更高版本,将 global.cattle.psp.enabled 设置为 false

helm upgrade rancher rancher-<CHART_REPO>/rancher \
--namespace cattle-system \
--set hostname=rancher.my.org
备注

以上是一个例子,可能有更多上一步的值需要追加。

另外,你也可以将当前的值导出到一个文件中,并在升级时引用该文件。例如,如果你只需要改变 Rancher 的版本:

  1. 将当前值导出到文件:

    helm get values rancher -n cattle-system -o yaml > values.yaml
  2. 只更新 Rancher 版本:

    对于 Kubernetes v1.25 或更高版本,将 global.cattle.psp.enabled 设置为 false

    helm upgrade rancher rancher-<CHART_REPO>/rancher \
    --namespace cattle-system \
    -f values.yaml \
    --version=2.6.8

4. 验证升级

登录 Rancher 以确认升级成功。

提示

升级后出现网络问题?

请参见恢复集群网络

已知升级问题

你可以在 GitHub 发布说明以及 Rancher 论坛中找到每个 Rancher 版本的已知问题。