手动升级

您可以通过使用安装脚本、手动安装所需版本的二进制文件或在 rpm 安装的情况下使用 rpm 升级来升级 RKE2。

首先逐个升级服务器节点。所有服务器升级完成后,您可以升级代理节点。

发布渠道

通过安装脚本或使用我们的 自动升级 功能进行的升级可以与不同的发布渠道相关联。可用的渠道如下:

通道 说明

稳定

(默认)稳定版推荐用于生产环境。这些版本经过了社区安全强化,并与最新版本的 Rancher 兼容。

最新

推荐使用最新版本以尝试最新功能。 这些版本尚未经过社区安全强化,可能与 Rancher 不兼容。

v1.26(示例)

每个 Kubernetes 次要版本都有一个与之相关的发布渠道,包括已终止服务的版本。这些渠道将选择最新的可用补丁,而不一定是稳定版本。

要获取完整且最新的渠道列表,您可以访问 RKE2 渠道服务 API。有关渠道工作原理的更多技术细节,您可以参见 channelserver 项目

在尝试升级到新版本的 RKE2 时,适用 Kubernetes 版本偏差策略。确保您的计划在升级时不会跳过中间的次要版本。升级过程中的任何内容都无法防止对 Kubernetes 版本的非支持性更改。

使用安装脚本升级 RKE2

要从旧版本升级 RKE2,您可以使用相同的标志重新运行安装脚本,例如:

curl -sfL https://get.rke2.io | sh -

这将默认升级到稳定通道中的最新版本。

如果升级代理节点,您应该指定 INSTALL_RKE2_TYPE 环境变量:

curl -sfL https://get.rke2.io | INSTALL_RKE2_TYPE=agent sh -

如果您想在特定通道(例如最新)中升级到最新版本,可以指定该通道:

curl -sfL https://get.rke2.io | INSTALL_RKE2_CHANNEL=latest sh -

如果您想升级到特定版本,可以运行以下命令:

curl -sfL https://get.rke2.io | INSTALL_RKE2_VERSION=vX.Y.Z+rke2rN sh -

安装后请记得重启 RKE2 进程:

# Server nodes:
systemctl restart rke2-server

# Agent nodes:
systemctl restart rke2-agent

手动升级 RKE2 使用二进制文件

或者手动升级 RKE2:

  1. 发布下载所需版本的RKE2二进制文件

  2. 将下载的二进制文件复制到`/usr/local/bin/rke2`以用于tarball安装的RKE2,以及`/usr/bin`以用于RPM安装的RKE2

  3. 停止旧的RKE2二进制文件

  4. 启动新的RKE2二进制文件

使用RPM升级 RKE2

如果是RPM安装,预计将使用RPM升级从旧版本升级RKE2,例如:

# zypper upgrade
zypper update rke2-server
yum update rke2-server

这将把`rke2-server` RPM 包升级到您在初始安装时通过安装脚本在 yum 或 zypper 仓库中配置的通道中的最新包。

如果升级代理节点,您应该指定`rke2-agent` 软件包的名称

# zypper upgrade
zypper update rke2-agent
# yum upgrade
yum update rke2-agent

安装后请记得重启 RKE2 进程:

# Server nodes:
systemctl restart rke2-server

# Agent nodes:
systemctl restart rke2-agent

如果您启用了`rke2-selinux`,您还应该能够使用以下命令将rke2-selinux升级到最新版本:

yum update rke2-selinux

重启 RKE2

systemd 的安装脚本支持重启 RKE2。

systemd

要手动重启服务器:

sudo systemctl restart rke2-server

要手动重启代理:

sudo systemctl restart rke2-agent