在不升级 SUSE® Rancher Prime 的情况下升级 Kubernetes
RKE 元数据功能允许你在新版本 Kubernetes 发布后立即为集群配置新版本,而无需升级 Rancher。此功能对于使用 Kubernetes 的补丁版本非常有用,例如,在原本支持 Kubernetes v1.14.6 的 Rancher Server 版本中,将 Kubernetes 升级到 v1.14.7。
Kubernetes API 可以在次要版本之间更改。因此,我们不支持引入 Kubernetes 次要版本,例如在 Rancher 支持 v1.14 的情况下引入 v1.15。在这种情况下,你需要升级 Rancher 以添加对 Kubernetes 次要版本的支持。 |
Rancher 的 Kubernetes 元数据包含 Rancher 用于配置 RKE 集群的 Kubernetes 版本信息。Rancher 会定期同步数据并为 系统镜像、服务选项和插件模板创建自定义资源定义 (CRD)。因此,当新的 Kubernetes 版本与 Rancher Server 版本兼容时,Kubernetes 元数据可以使 Rancher 使用新版本来配置集群。元数据概述了 Rancher Kubernetes Engine (RKE) 用于部署各种 Kubernetes 版本的信息。
下表描述了受周期性数据同步影响的 CRD。
只有管理员可以编辑元数据 CRD。除非明确需要,否则建议不要更新现有对象。 |
资源 | 描述 | Rancher API URL |
---|---|---|
系统镜像 |
用于通过 RKE 部署 Kubernetes 集群的系统镜像列表。 |
|
服务选项 |
传递给 Kubernetes 组件的默认选项,例如 |
|
插件模板 |
用于部署插件组件的 YAML 定义,例如 Canal、Calico、Flannel、Weave、Kube-dns、CoreDNS、 |
|
管理员可以通过配置 RKE 元数据设置来执行以下操作:
-
刷新 Kubernetes 元数据。适用于有新的 Kubernetes 补丁版本发布,而用户希望在不升级 Rancher 的情况下为集群配置最新版本的 Kubernetes 的情景。
-
更改 Rancher 用于同步元数据的 URL。适用于要让 Rancher 从本地同步而不是与 GitHub 同步的情况。这在离线环境下非常有用。
-
防止 Rancher 自动同步元数据。这可以防止在 Rancher 中使用新的/不受支持的 Kubernetes 版本。
刷新 Kubernetes 元数据
默认情况下,管理员或具有管理集群驱动全局角色的用户,可以刷新 Kubernetes 元数据。
要强制 Rancher 刷新 Kubernetes 元数据,可以执行手动刷新操作:
-
在左上角,单击 ☰ > 集群管理。
-
在左侧导航菜单中,单击驱动。
-
单击刷新 Kubernetes 元数据。
你可以将 refresh-interval-minutes
设置为 0
(见下文),将 Rancher 配置为仅在需要时刷新元数据,并在需要时使用此按钮手动执行元数据刷新。
配置元数据同步
只有管理员可以更改这些设置。 |
RKE 元数据的配置控制 Rancher 同步元数据的频率以及从何处下载数据。你可以通过 Rancher UI 或通过 Rancher API 端点 v3/settings/rke-metadata-config
配置元数据。
元数据的配置方式取决于 Rancher 版本。
要在 Rancher 中编辑元数据配置:
-
在左上角,单击 ☰ > 全局设置。
-
转到 rke-metadata-config。单击 ⋮ > 编辑设置。
-
你可以选择填写以下参数:
-
refresh-interval-minutes
:Rancher 等待同步元数据的时间。如果要禁用定期刷新,请将refresh-interval-minutes
设置为 0。 -
url
:Rancher 从中获取数据的 HTTP 路径。该路径必须是 JSON 文件的直接路径。例如,Rancher v2.4 的默认 URL 是https://releases.rancher.com/kontainer-driver-metadata/release-v2.4/data.json
。-
单击保存。
-
-
如果你没有离线设置,则无需指定 Rancher 获取元数据的 URL,因为默认是从 Rancher 的元数据 Git 仓库获取的。
但是,如果你有离线设置需求,你需要将 Kubernetes 元数据仓库镜像到 Rancher 可用的位置。然后,你需要更改 URL 来指向 JSON 文件的新位置。
离线设置
Rancher Server 会定期刷新 rke-metadata-config
来下载新的 Kubernetes 版本元数据。有关 Kubernetes 和 Rancher 版本的兼容性表,请参阅服务条款。
如果你使用离线设置,则可能无法从 Rancher 的 Git 仓库自动定期刷新 Kubernetes 元数据。在这种情况下,应该禁用定期刷新以防止在日志中显示相关错误。或者,你可以配置元数据,以便 Rancher 与本地的 RKE 元数据副本进行同步。
要将 Rancher 与 RKE 元数据的本地镜像同步,管理员需要配置 rke-metadata-config
来指向镜像。详情请参考配置元数据同步
在将新的 Kubernetes 版本加载到 Rancher Server 中之后,需要执行其他步骤才能使用它们启动集群。Rancher 需要访问更新的系统镜像。虽然只有管理员可以更改元数据设置,但任何用户都可以下载 Rancher 系统镜像并为镜像准备私有容器镜像仓库。
要下载私有镜像仓库的系统镜像:
-
点击左上角的 ☰。
-
点击左侧导航底部的简介。
-
下载适用于 Linux 或 Windows 操作系统的镜像。
-
下载
rancher-images.txt
。 -
使用离线环境安装时使用的步骤准备私有镜像仓库,但不要使用发布页面中的
rancher-images.txt
,而是使用上一个步骤中获取的文件。
结果:Rancher 的离线安装现在可以同步 Kubernetes 元数据。如果你在发布新版本的 Kubernetes 时更新了私有镜像仓库,你可以使用新版本配置集群,而无需升级 Rancher。