跳至主要内容

手动升级

您可以使用安装脚本或手动安装所需版本的二进制文件来升级 K3s。

注意

升级时,请先逐个升级服务器节点,然后再升级任何代理节点。

发布通道

通过安装脚本或使用我们的 自动升级 功能执行的升级可以绑定到不同的发布通道。以下通道可用

通道描述
stable(默认) 稳定版推荐用于生产环境。这些版本已经过社区强化阶段。
latest最新版推荐用于试用最新功能。这些版本尚未过社区强化阶段。
v1.26 (示例)每个 Kubernetes 次要版本都有一个与之绑定的发布通道,包括生命周期结束的版本。这些通道将选择最新可用的补丁,不一定是最稳定版本。

有关通道的详尽且最新的列表,您可以访问 k3s 通道服务 API。有关通道工作原理的更多技术细节,请参见 channelserver 项目

提示

尝试升级到新版本的 K3s 时,Kubernetes 版本偏差策略 适用。确保您的计划在升级时不会跳过中间的次要版本。系统升级控制器本身不会防止对 Kubernetes 版本进行不受支持的更改。

使用安装脚本升级 K3s

要从旧版本升级 K3s,您可以使用与最初运行安装脚本时相同的配置选项重新运行安装脚本。

注意

INSTALL_K3S_EXEC 变量、K3S_ 变量和尾随 shell 参数都由安装脚本用于生成 systemd 单元和环境文件。如果您在最初运行安装脚本时设置了配置,但在重新运行安装脚本时没有再次设置,则原始值将丢失。

配置文件 的内容不受安装脚本管理。如果您希望您的配置独立于安装脚本,则应使用配置文件,而不是将环境变量或参数传递给安装脚本。

运行安装脚本将

  1. 下载新的 k3s 二进制文件
  2. 更新 systemd 单元或 openrc 初始化脚本以反映传递给安装脚本的参数
  3. 重新启动 k3s 服务

例如,要升级到当前稳定版本

curl -sfL https://get.k3s.io | <EXISTING_K3S_ENV> sh -s - <EXISTING_K3S_ARGS>

如果您想升级到特定通道中的较新版本(例如 latest),您可以指定通道

curl -sfL https://get.k3s.io | INSTALL_K3S_CHANNEL=latest <EXISTING_K3S_ENV> sh -s - <EXISTING_K3S_ARGS>

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

curl -sfL https://get.k3s.io | INSTALL_K3S_VERSION=vX.Y.Z+k3s1 <EXISTING_K3S_ENV> sh -s - <EXISTING_K3S_ARGS>
提示

如果您想下载新版本的 k3s,但不想启动它,可以使用 INSTALL_K3S_SKIP_START=true 环境变量。

使用二进制文件升级 K3s

要手动升级 K3s,您可以下载所需版本的 K3s 二进制文件,并将现有二进制文件替换为新二进制文件。

  1. releases 下载所需版本的 K3s 二进制文件
  2. 将下载的二进制文件复制到 /usr/local/bin/k3s(或您想要的位置)
  3. 停止旧的 k3s 二进制文件
  4. 启动新的 k3s 二进制文件