升级
本文介绍如何升级使用 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 之前的版本升级
从 2019 年 11 月 1 日开始,Let’s Encrypt 已屏蔽早于 0.8.0 的 cert-manager 实例。因此,请参见说明把 cert-manager 升级到最新版本。
升级概要
按照以下步骤升级 Rancher Server:
2. 更新 Helm Chart 仓库
-
更新本地 Helm 仓库缓存。
helm repo update
-
Get the repository name that you used to install Rancher.
helm repo list NAME URL rancher-prime <helm-chart-repo-url>
-
从 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 的版本:
-
将当前值导出到文件:
helm get values rancher -n cattle-system -o yaml > values.yaml
-
只更新 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
已知升级问题
你可以在 GitHub 发布说明以及 Rancher 论坛中找到每个 Rancher 版本的已知问题。