升级

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

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

如需升级 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 版本的已知问题,请参见 https://github\.com/rancher/rancher/releases\[GitHub\] 中的发行说明,或查看 https://forums\.rancher\.com/c/announcements/12\[Rancher 论坛\]。

Helm 版本

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

Helm v2 support is deprecated as of the Rancher v2.7 line and will be removed in Rancher v2.9.

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

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

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

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

升级概要

按照以下步骤升级 Rancher Server:

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

使用备份应用来备份 Rancher。

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

2. 更新 Helm Chart 仓库

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

    helm repo update
  2. Get the repository name that you used to install Rancher.

    helm repo list
    
    NAME          	       URL
    rancher-prime          <helm-chart-repo-url>
  3. 从 Helm Chart 仓库获取最新的 Chart 来安装 Rancher。

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

    helm fetch rancher-prime/rancher

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

    helm fetch rancher-prime/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

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

Deployment 的名称可能会有所不同。例如,如果你通过 AWS Marketplace 部署 Rancher,则 Deployment 的名称为"`rancher-prime`"。 因此:

helm get values rancher-prime -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 或更高版本,使用 Rancher v2.7.2-v2.7.4 时,将 global.cattle.psp.enabled 设置为 false。对于 Rancher v2.7.5 及更高版本来说,这不是必需的,但你仍然可以手动设置该选项。

helm upgrade rancher rancher-prime/rancher \
  --namespace cattle-system \
  --set hostname=rancher.my.org

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

如果你通过 AWS Marketplace 部署 Rancher,则 Deployment 的名称为"`rancher-prime`"。 因此:

helm upgrade rancher-prime rancher-prime/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 或更高版本,使用 Rancher v2.7.2-v2.7.4 时,将 global.cattle.psp.enabled 设置为 false。对于 Rancher v2.7.5 及更高版本来说,这不是必需的,但你仍然可以手动设置该选项。

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

4. 验证升级

登录 Rancher 以确认升级成功。

升级后出现网络问题?

请参见xref:[恢复集群网络]。

已知升级问题

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