本文档采用自动化机器翻译技术翻译。 尽管我们力求提供准确的译文,但不对翻译内容的完整性、准确性或可靠性作出任何保证。 若出现任何内容不一致情况,请以原始 英文 版本为准,且原始英文版本为权威文本。

升级 Kubernetes 而不升级 SUSE Rancher Prime

RKE 元数据功能允许您在新版本的 Kubernetes 发布后立即为集群提供这些版本,而无需升级 Rancher。此功能对于利用 Kubernetes 的补丁版本非常有用,例如,如果您想在 Rancher 服务器最初支持 v1.14.6 时升级到 Kubernetes v1.14.7。

Kubernetes API 在次要版本之间可能会发生变化。因此,我们不支持引入次要 Kubernetes 版本,例如在 Rancher 当前支持 v1.14 时引入 v1.15。您需要升级 Rancher 才能添加对次要 Kubernetes 版本的支持。

Rancher 的 Kubernetes 元数据包含与 Rancher 用于提供 RKE 集群 的 Kubernetes 版本相关的信息。Rancher 定期同步数据,并为 系统镜像, 服务选项附加模板 创建自定义资源定义(CRD)。因此,当新的 Kubernetes 版本与 Rancher 服务器版本兼容时,Kubernetes 元数据会使新版本可用于 Rancher 以提供集群。元数据为您提供了 Rancher Kubernetes Engine (RKE) 用于部署各种 Kubernetes 版本的信息概览。

下表描述了受定期数据同步影响的 CRD。

只有管理员可以编辑元数据 CRD。建议在没有明确建议的情况下不要更新现有对象。

资源 说明 Rancher API URL

系统镜像

用于通过 RKE 部署 Kubernetes 的系统镜像列表。

<RANCHER_SERVER_URL>/v3/rkek8ssystemimages

服务选项

传递给 Kubernetes 组件的默认选项,如 kube-apischedulerkubeletkube-proxykube-controller-manager

<RANCHER_SERVER_URL>/v3/rkek8sserviceoptions

附加模板

用于部署附加组件的 YAML 定义,如 Canal、Calico、Flannel、Weave、Kube-dns、CoreDNS、metrics-servernginx-ingress

<RANCHER_SERVER_URL>/v3/rkeaddons

管理员可以配置 RKE 元数据设置以执行以下操作:

  • 如果 Kubernetes 发布了新的补丁版本,并且他们希望 Rancher 使用最新版本的 Kubernetes 来配置集群,而无需升级 Rancher,则刷新 Kubernetes 元数据。

  • 更改 Rancher 用于同步元数据的元数据 URL,这对于需要在本地同步 Rancher 而非与 GitHub 同步的隔离设置非常有用。

  • 防止 Rancher 自动同步元数据,这是防止新版本和不受支持的 Kubernetes 版本在 Rancher 中可用的一种方法。

刷新 Kubernetes 元数据

默认情况下,管理员可以使用刷新 Kubernetes 元数据的选项,或者任何拥有 管理集群驱动 全局角色 的用户。

要强制 Rancher 刷新 Kubernetes 元数据,可以使用手动刷新操作:

  1. 在左上角,单击*☰ > 集群管理*。

  2. 在左侧导航菜单中,点击*驱动程序*。

  3. 点击 刷新 Kubernetes 元数据

您可以通过将 refresh-interval-minutes 设置为 0(见下文)来配置 Rancher 仅在需要时刷新元数据,并在需要时使用此按钮手动执行元数据刷新。

配置元数据同步

只有管理员可以更改这些设置。

RKE 元数据配置控制 Rancher 同步元数据的频率以及数据的下载来源。您可以通过 Rancher UI 中的设置或通过 Rancher API 在端点 v3/settings/rke-metadata-config 中配置元数据。

元数据的配置方式取决于 Rancher 版本。

要在 Rancher 中编辑元数据配置,

  1. 在左上角,点击 ☰ > 全局设置

  2. 请转到 rke-metadata-config 部分。点击 ⋮ > 编辑设置

  3. 您可以选择性地填写以下参数:

    • 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

      1. 单击 保存

如果您没有隔离设置,则无需指定 Rancher 获取元数据的 URL,因为默认设置是从 Rancher 的元数据 Git 储存库 拉取。

但是,如果您有一个 隔离设置,您需要在 Rancher 可用的位置镜像 Kubernetes 元数据储存库。然后,您需要更改URL以指向JSON文件的新位置。

空气隔离设置

Rancher 依赖于定期刷新 rke-metadata-config 以下载新的 Kubernetes 版本元数据,前提是当前版本的 Rancher 服务器支持该版本。有关兼容的Kubernetes和Rancher版本的表格,请参阅 服务条款部分。

如果您有一个隔离设置,您可能无法从 Rancher 的 Git 储存库获取 Kubernetes 元数据的自动定期刷新。在这种情况下,您应该禁用定期刷新,以防止日志中出现错误。可选地,您可以配置元数据设置,以便 Rancher 可以与 RKE 元数据的本地副本同步。

要将 Rancher 与 RKE 元数据的本地镜像同步,管理员需要配置 rke-metadata-config 设置以指向该镜像。有关详细信息,请参阅配置元数据同步。

在新的Kubernetes版本加载到Rancher设置后,还需要额外的步骤才能使用它们来启动集群。Rancher 需要访问更新的系统镜像。虽然元数据设置只能由管理员更改,但任何用户都可以下载 Rancher 系统镜像并为其准备一个私有容器镜像注册表。

要下载私有注册表的系统镜像:

  1. 点击左上角的

  2. 点击左侧导航底部的*关于*。

  3. 下载 Linux 或 Windows 的操作系统特定镜像列表。

  4. 下载 rancher-images.txt

  5. 使用与 隔离安装 相同的步骤准备私有注册表,但不要使用发布页面上的 rancher-images.txt,而是使用从前面的步骤中获得的。

*结果:*Rancher 的隔离安装现在可以同步 Kubernetes 元数据。如果您在 Kubernetes 发布新版本时更新您的私有注册表,您可以在不升级 Rancher 的情况下使用新版本来配置集群。